a:6:{i:0;s:26953:"				<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="h1"><h1>Tiger and Rhino Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.azaantravels.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.azaantravels.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Tiger and Rhino Tour</p> 
									
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					
											<p class="mb5px"><b>Duration :</b> 
						13 Nights / 14 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Guwahati, Kolkata, Kaziranga</p>
												<p class="mb5px"><b>Price (Starting From) :</b> <span class="dif">On Request</span></p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.azaantravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tiger and Rhino Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="39144"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w200px h200px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_1/16702/78963.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_1/16702/78963.jpg"  width="150" height="150"    alt="Tiger and Rhino Tour" title="Tiger and Rhino Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="headHr">
					            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
					            </div>
					            
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 1:</b> Arrive Kolkata
										</p>
										<p class="aj">On arrival at Kolkata airport meet with our representative and transfer to the hotel. Overnight stay at hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 2:</b> Kolkata - Sunderban
										</p>
										<p class="aj">Morning will drive to Basanti through the rural villages of Bengal. Arrive Basanti by the breakfast time. Post breakfast we will take a Boat for Sajnekhali, one of the entry points of sanctuary. Lunch serve on Boat. After noon at 15:00 hrs visit Sudhanyakhali watch tower. Evening free to explore the surrounding. Overnight stay forest camp / lodge.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 3:</b> Sunderban National Park
										</p>
										<p class="aj">After breakfast Visit to Netidhopani / Burirdhabri Watch tower & cruise through the creeks and around the cluster of islands of Sunderban Tiger Project Area. Lunch serve on Boat. Visit crocodile project Full day excursion inside the forest to search the famous Royal Bengal Tiger Enjoy the wildlife viewing in forest from different watchtowers. Overnight stay forest camp / lodge.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 4:</b> Sunderban - Kolkata - Guwahati
										</p>
										<p class="aj">After breakfast Boat cruise to Do-banki Watch tower & proceed to Basanti. On arrival at Basanti drive to Kolkata. On arrival transfer to the airport to board the flight for Guwahati. On arrival at Guwahati airport your will be met with our representative and transfer to the hotel. Overnight stay at hotel.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 5:</b> Guwahati - Manas National park (200 km / 4 ½ hrs)
										</p>
										<p class="aj">Today we will drive to Manas national park with a traveling distance of around 4 ½ hrs, situated on the foothills of the Himalaya, in the north bank of the Brahmaputra river in Assam. It lies on the international border with Bhutan.<br />
On arrival check in at forest resort. In the after jungle safari to the national park to explore its flora & fauna. Overnight stay at resort.<br />
Manas is the most stunning pristine wildlife habitat in India, comparable to the best in the world in the beauty of its spectacular landscape. It is bounded on the north by the Royal Manas National Park in Bhutan, on the south by populous North Kamrup district and on both east and west by buffer forest reserves which are part of 2,840 sq. Km Manas Tiger reserve. It was created as a project tiger reserve in the year 1973 and declared national park in the year 1973. It is also a UNESCO Natural World Heritage (in danger) site, a Project Tiger Reserve, an Elephant Reserve and a Biosphere Reserve - a unique distinction. This Brahmaputra Valley semi-evergreen forest Terrestrial Eco-region is also the richest in species of all Indian wildlife areas and the only known home for the rare and endangered Assam Roofed Turtle, Hispid Hare, Golden Langur and Pygmy Hog.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 6:</b> Manas Tiger Reserve
										</p>
										<p class="aj">Morning and afternoon jungle safari to the national park for wildlife viewing. Overnight stay at resort.<br />
Manas national park is habitat for 55 mammals, 50 reptiles and three amphibians species. At least 33 of its animals listed as threatened by the IUCN, this is the greatest number of any protected area in the country. These threatened species are the Assam Roofed turtle Kachuga sylhetensis, Golden Langur Presbytis geei, Hispid Hare Caprolagus hispidus, Pygmy Hog Sus salvanius and the only pure strain of Asiatic Wild Buffalo Bubalus arnee.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 7:</b> Manas - Guwahati (200 km)
										</p>
										<p class="aj">Before heading to Guwahati we will explore the surrounding again for its wildlife. Further continue drive to Guwahati. On arrival check in at the hotel. In the evening enjoy sunset cruise on river Brahmaputra. Overnight stay at hotel.<br />
</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 8:</b> Guwahati - Nameri National park (240 km / 5 ½ hrs)
										</p>
										<p class="aj">Today we will drive to the most beautiful parks of Assam, Nameri national Park covering an area of 200 Sq. Kms nestled at the foothills of Eastern Himalayas. It is famous for the high density of elephant population. On arrival check into, camp. Evening explore the surrounding around the camp site. Overnight in camp.<br />
Nameri National Park covers an area of 200 Sq. Kms. With river Jia Bhoroli bifurcating the park, it is the most scenic of all the national parks of Assam. Its in the eastern border of Assam in the valley and mountainous Arunachal Pradesh, Nameri is home to some of the endangered species like white winged wood duck, Sloth Bear, Tiger Leopard, Clouded Leopard, Sambar, Gaur, Indian Wild Dog, four varieties of Hornbill and many other winged species. The other reason Nameri is famous for, is the herds of elephants. The park have a high density of elephant population and due to lessening of forest cover, they sometimes invade human inhabited villages, which have attracted the attention of wildlife conservationists worldwide.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 9:</b> Nameri National Park
										</p>
										<p class="aj">Morning after breakfast a guided trekking through Nameri Forest reserve to explore its major wildlife. Afternoon enjoy river rafting. Overnight at Camp.</p>
										</td>
										</tr>
										</table>					
										</div>
										<div class="data">
										<table class="w100 formTable bdr0 imgWidth">
										<tr>
										<td class="p10px vat">
										<p class="b large mb5px"><b class="dif">Day 10:</b> Nameri - Kaziranga National Park (140 km / 2 ½ hrs)
										</p>
										<p class="aj">Today after breakfast we will leave for the Rhino country, Kazirnaga national park which is mainly famous for Indian one Horned Rhinoceros. Located on the banks of the mighty Brahmaputra River in the far North East of India, Assam, with covering an area of approximately 430-sq-kms, with its swamps and tall thickets of elephant grass, making Kaziranga National Park the ideal habitat for the Indian One-Horned Rhino. Due to limitless poaching of this prehistoric survivor, the Kaziranga National Park was declared a wildlife sanctuary in 1940.<br />
On arrival check in at the wildlife resort. In the afternoon Jeep safari to the National park for wildlife viewing. Overnight stay at resort.</p>
										</td>
										</tr>
										</table>					
										</div><div id="show_more_content" style="display:none;">
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 11:</b> Kaziranga National Park
											</p>
											<p class="aj">Today will awake a little early with a wake call, half hrs before we will head for our morning elephant safari (05:30 am to 06:30 am), to the national park for wildlife viewing. Return back to resort for breakfast. After breakfast jeep safari (either central or western range). Return to lodge for lunch. After lunch jeep safari (if visited central range in the morning then western range or vice versa. Overnight stay at wildlife resort.<br />
Apart from the great one horned Indian Rhino, the other major wild attractions include a large population of Indian Elephants, Indian Bison, Swamp Deer or Barasingha, Hog Deer, Sloth Bears, Tigers, Leopard Cats, Jungle Cats, Otters, Hog Badgers, Capped Langurs, Hoolock Gibbons, Wild Boar, Jackal, Wild Buffalo, Pythons, Monitor Lizards, etc.</p>
											</td>	
											</tr>
											</table>				
											</div>
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 12:</b> Kaziranga National Park
											</p>
											<p class="aj">We will continue with our wild safari with Kaziranga on the consecutive day to explore the more wildlife. We will be doing the jungle safari as per the very previous day. We will enter twice to the national park visiting either central or western range first. Overnight stay at resort.</p>
											</td>	
											</tr>
											</table>				
											</div>
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 13:</b> Kaziranga - Kolkata
											</p>
											<p class="aj">Early morning elephant safari (05:30 am to 06:30 am) to the national park for wildlife viewing. Later return to the resort for breakfast. After breakfast drive to Guwahati. On arrival transfer to airport to board the flight for Kolkata to connect with onward connection.<br />
Upon arrival at Kolkata meeting and assistance followed by transfer to hotel. Overnight stay at hotel.</p>
											</td>	
											</tr>
											</table>				
											</div>
											<div class="data">
											<table class="w100 formTable bdr0 imgWidth">
											<tr>
											<td class="p10px vat">
											<p class="b large mb5px"><b class="dif">Day 14:</b> Kolkata Depart
											</p>
											<p class="aj">Breakfast at the hotel and transfer to international airport to connect flight for onward destination.</p>
											</td>	
											</tr>
											</table>				
											</div>					
									</div>									<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
																	<br />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</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.azaantravels.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tiger and Rhino 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="39144"/>
						</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.azaantravels.in/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(31)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(25)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(15)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-varanasi.htm" title="Packages in Varanasi">Varanasi</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-mandawa.htm" title="Packages in Mandawa">Mandawa</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-mount-abu.htm" title="Packages in Mount Abu">Mount Abu</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</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.azaantravels.in/packages-in-fatehpur-sikri.htm" title="Packages in Fatehpur Sikri">Fatehpur Sikri</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.azaantravels.in/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</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.azaantravels.in/packages-in-manali.htm" title="Packages in Manali">Manali</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.azaantravels.in/packages-in-ranakpur.htm" title="Packages in Ranakpur">Ranakpur</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.azaantravels.in/packages-in-shimla.htm" title="Packages in Shimla">Shimla</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.azaantravels.in/packages-in-jhansi.htm" title="Packages in Jhansi">Jhansi</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.azaantravels.in/packages-in-chhatarpur.htm" title="Packages in Chhatarpur">Chhatarpur</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.azaantravels.in/packages-in-sawai-madhopur.htm" title="Packages in Sawai Madhopur">Sawai Madhopur</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.azaantravels.in/packages-in-deogarh.htm" title="Packages in Deogarh">Deogarh</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-khajuraho.htm" title="Packages in Khajuraho">Khajuraho</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-bodh-gaya.htm" title="Packages in Bodhgaya">Bodhgaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-gajner.htm" title="Packages in Gajner">Gajner</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-ajmer.htm" title="Packages in Ajmer">Ajmer</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-sravasti.htm" title="Packages in Sravasti">Sravasti</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-orchha.htm" title="Packages in Orchha">Orchha</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-mumbai.htm" title="Packages in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-katra.htm" title="Packages in Katra">Katra</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-lucknow.htm" title="Packages in Lucknow">Lucknow</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azaantravels.in/packages-in-kolkata.htm" title="Packages in Kolkata">Kolkata</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(36)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/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.azaantravels.in/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/safari-holidays-catid.htm" title="Safari Packages">Safari</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azaantravels.in/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(5)</b></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:61:"Book Tiger and Rhino Tour - 13 Nights / 14 Days Tour Packages";i:2;s:140:"book tiger and rhino tour - 13 nights / 14 days tour packages, wildlife and nature tour packages, guwahati, kolkata, kaziranga tour packages";i:3;s:170:"Azaan Travels offers Tiger and Rhino Tour - 13 Nights / 14 Days tour package, budget Wildlife and Nature tour packages for Guwahati, Kolkata, Kaziranga at exciting price.";i:4;s:420:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Guwahati, Kolkata, Kaziranga"        
		                 },
		      "description": "",
		      "name": "Tiger and Rhino Tour",
		      "telephone": "+91-9897916035"
		    }
		    </script>
			";i:5;N;}