a:6:{i:0;s:9409:"				<div class="h1"><h1>Best of Chhattisgarh Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sharmatravel.in/" title="Home">Home</a> 
				
								
				<b class="ffv p2px">&rsaquo;</b>Best of Chhattisgarh Tour</p>
				<br />
				
								
						<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">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						5 Nights / 6 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Raipur, Jagdalpur</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sharmatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Chhattisgarh 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="121238"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_18/513007/196084.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/513007/196084.jpg"  width="150" height="150"    alt="Best of Chhattisgarh Tour" title="Best of Chhattisgarh Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<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> Arrival
								</p>
								<p class="aj">On arriving in Raipur, meet our  representative who will help you take a transfer to the hotel. After you freshen up, leave for Jagdalpur. On your way to this beautiful destination, you can enjoy a picnic lunch at any of the restaurants. Enjoy the glimpse of beautiful surroundings en-route. Jagdalpur is a destination which will make you explore the beauty of the unique tribal villages and captivating wildlife of Chhattisgarh. On arrival, check-in to the hotel and have a comfortable stay at night.</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> Jagdalpur - Kanger Valley National Park
								</p>
								<p class="aj">Munch yummy breakfast in the morning and then leave for the next a famous attraction of the place, Kanger Valley National Park. The Kanger National Park is known for its unique wildlife and beautiful surroundings. It is considered the finest of all virgin forest areas on earth. The park also has large deposits of limestone which are present in the form of caves.<br />
<br />
On your visit to this national park, do pay a visit to the limestone caves which are famous for the beautiful formations of stalactite and stalagmite. To add more fun to your tour, you can enjoy picnic lunch near the Tiratgarh Fall which is a famous tourist attraction. Enjoy some great time with your family and friends while enjoying breathtaking views of the surroundings.</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> Chitrakoot Falls - Nagarnar- Jagdalpur
								</p>
								<p class="aj">After you have your breakfast, go out for sightseeing at famous attractions of the place. Visit the Chitrakoot Falls which are well-known as the ‘Niagara Falls of India’. Here, enjoy the beauty of these waterfalls and take back a memorable experience of this alluring place. After sightseeing, head back to Jagdalpur. En-route, visit the famous Anthropological Museum, which is known to present an interesting insight into Bastar’s tribal culture. Have you lunch on the way and them drive towards where you can shop for terracotta handicrafts. On reaching to the hotel, have your dinner and stay overnight.</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> Jagdalpur
								</p>
								<p class="aj">This morning, after you have your breakfast, leave for some fun time to ‘haat’ which is the weekly market of Jagdalpur. Have a look at the local tribal life which the haat showcases. Have your lunch at the hotel and then spend the rest of the day at leisure. You can explore the place or take rest at the 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> Jagdalpur – Narayanpur – Raipur
								</p>
								<p class="aj">After having your breakfast, leave back for Raipur by road. En-route, you can take a side trip to Narayanpur. Narayanpur is known for its unique handicrafts. Handicrafts from this place are known as the best in the Bastar region. It offers many items such as bell metal, wrought iron, woodcraft and bamboo artifacts. You can also visit Ramakrishna Mission Center which is a major tourist attraction at Narayanpur. On arrival in Raipur, check-in to the hotel and have a comfortable stay at night.</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> Departure
								</p>
								<p class="aj">This is the last day of the exiting and adventurous tour. Have your breakfast and then spend the rest of the day at leisure. Later, take a transfer to the airport and board a flight for your onward journey. Get back home with some wonderful memories.</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
																		<li>Sightseeing</li>
															</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* 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. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sharmatravel.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Best of Chhattisgarh 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="121238"/>
						</form>
						</div>
						
						";i:1;s:64:"Book Best of Chhattisgarh Tour - 5 Nights / 6 Days Tour Packages";i:2;s:121:"book best of chhattisgarh tour - 5 nights / 6 days tour packages, heritage tour packages, raipur, jagdalpur tour packages";i:3;s:151:"Sharma Travel offers Best of Chhattisgarh Tour - 5 Nights / 6 Days tour package, budget Heritage tour packages for Raipur, Jagdalpur at exciting price.";i:4;s:414:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Raipur, Jagdalpur"        
		                 },
		      "description": "",
		      "name": "Best of Chhattisgarh Tour",
		      "telephone": "+91-9643567755"
		    }
		    </script>
			";i:5;N;}