a:6:{i:0;s:31614:"				<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>Tribes of Chhattisgarh Tour</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.orissatribaltours.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.orissatribaltours.com/travel-packages.htm" title="Travel Packages">Travel Packages</a>  			
											
					<b class="ffv p2px">&rsaquo;</b>Tribes of Chhattisgarh 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> 
						14 Nights / 15 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Korba</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="https://www.orissatribaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tribes of Chhattisgarh 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="98495"/>
						</form>
						
												</p>
											</td>
											<td class="p10px vat imgWidth200 w200px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<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_14/401921/176277.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/176277.jpg"  height="150"  width="150"    alt="Tribes of Chhattisgarh Tour" title="Tribes of Chhattisgarh Tour" /></a></p></div></li>
																		<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_14/401921/166353.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/401921/166353.jpg"  height="150"  width="150"    alt="Tribes of Chhattisgarh Tour" title="Tribes of Chhattisgarh Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
													<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								GONDS<br />
The Gonds tribes, who are also recognized as the Koytorias are widely dispersed throughout the state. However they mainly predominates the dense forests enclosed in southern Chhattisgarh's Bastar district. The three principal sub castes of the aboriginal Gonds are the Dorla, Maria and Muria races.<br />
<br />
ABHUJ MARIA<br />
Amongst the various tribals residing in Chhattisgarh, the Abhuj Maria races of aborigines deserve special mention. They live in isolation and inhabit the secluded enclaves of Bastar District. The areas inhabited by the Abhuj Maria tribals are a dense forest that sprawls across nearly 1500 miles of lush greenery. The Abhuj Maria tribals at times are hostile to strangers. They still follow their age-old practices of livelihood.<br />
<br />
DANDAMI MARIA (BISON HORN MARIA)<br />
This tribal community of Chhattisgarh derived their name from their unique custom of wearing a distinctive hear-gear, which resembles the horns of a wild bison. They generally wear that head-gear during ceremonies. The main distinct language spoken by this tribe of Chhattisgarh is Dandami Maria. Some of them speak Gondi dialects, which is an oral language of Dravidian Origin.<br />
<br />
BAIGA<br />
The Baiga tribe are among the most colourful tribal communities not only Chhattisgarh but also in India. The special tattoo mark on the forehead and body of the female give the different identity among other. Endogamy and consanguineous marriage are features that are commonly prevalent in the society of the Baigas. Agriculture, hunting, fishing, extracting forest products etc. are the prime occupations of Baiga tribe.<br />
<br />
DHURVAA<br />
These tribes are located in Bastar region. The cloth wearing style of Dhurvaa lady, their hair style, tattoo mark , on their foot they wear metal anklet also specify them to other.<br />
<br />
MURIA<br />
The populace of Chhattisgarh is mainly dominated by tribal of which the Muria rave of aborigines holds a special place. The Murias are one of the innumerable tribes that inhabit Chhattisgarh. They are prominent sub caste of the Gonds. The Muria tribesmen primarily reside in the dense forest zones of Narayanpur and Kondagaon of Bastar district. Unmarried young girl's dormitory - Gotul is prominent in this Muria tribal village.<br />
<br />
KORVA<br />
The Korva tribals are found in Bilaspur, Sarguja and Raigarh district and are divided into two main territorial groups- Pahari Korva (hill) and Plains Korva (dihariya). They usually carry bow and arrow and practice agriculture and collect forest produce as well. Both men and women of Korva tribes are fond of ornaments and they wear it a lot.<br />
<br />
BHATRA<br />
Bhatra tribes are located in Bastar and border of orissa state, their settlement ( wall of houses and boundary made by clay) is unique then others. They are ranked first in terms of social hierarchy. They worship Mahua trees.<br />
Note: also each day of the Bastar region there is a weekly market for different tribal communities. Where is nice to explore the lifestyle of that particular tribe. So, just mail your arrival and departure detail rest you leave on us.<br />
We are the only travel agent who organize the tent tour ( camping) in Dandami Maria , Baiga & Muria village for special interest guest and also organize the tribal dance programme at Dandami Maria village, Baiga Dance at their village and Gutul dance in Muria village during tribal tours. Hiking of different isolated village & weekly market.								</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> ( sat)-Raipur- Champaner- Raipur (2hr drive+visit)
										</p>
										<p class="aj">Upon arrival Raipur airport/ railway station meet our representative and transfer to hotel then drive towards Champaner  return back to hotel and relax.<br />
<br />
Overnight- Raipur</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> (sun)-Raipur-Bharamdeo (4hr drive+visit)
										</p>
										<p class="aj">Morning departure for Bharamdeo, (in aboad of lush green forest famous shiva temple of 11century AD, of Naga dynasty king, the erotic temple art of love and prosperity, popularly known as the Khajuraho of Chhatishgarh). afternoon visit the famous temple and then excursion the cherki Mahal , mandua mahal also. Check in the nice resort at there.<br />
<br />
Overnight- Bharamdeo</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> (mon)-Bharamdeo- Baiga Tribal Village-Bharamdeo (2.30drive+ visit)
										</p>
										<p class="aj">Morning meet the colorful Baiga Tribe at their village return back to Bharamdeo Jungle eco retreat.<br />
<br />
Overnight- Bharamdeo</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> (tue)-Bharamdeo-Bilaspur-Tala- Malhar-Bilaspur(5hr drive+visit)
										</p>
										<p class="aj">Early departure for Bilaspur( the second largest city of chhatishgarh), Enroute visit an unique ancient Rudra shiva temple at TALA , also visit the ancient city Malhar. Warm welcome by the local.<br />
<br />
Overnight- Bilaspur</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> (wed)-Bilaspur- Ramnami tribe- Bilaspur (4hr drive+ visit)
										</p>
										<p class="aj">Meet the Ramnamai tribes at their isolated villages , (they are mostly nomadic, so early departure for it).<br />
<br />
Overnight- Bilaspur</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> (thur)-Bilaspur- Siripur (4hr drive+ visit)
										</p>
										<p class="aj">visit the group of ancient ruin buddist site at Siripur (famously known as dakhin koshal) <br />
meet the local Dhuruba tribes while hiking their village. <br />
PM- hiking the Mahanadi river banks and excursion the gorgeous beauty of nature and feel the ancient culture of dakhin koshal.<br />
<br />
Overnight-Siripur</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> (fri)- Sirpur- Gotitola- Udkuda-Kanker (4.30hr drive+ visit)
										</p>
										<p class="aj">Excursion the pre-historic rock shelter and rock art painting (10,000- 15,000 year old) at Gotitola and Udkuda core jungle area. With the help of local Visit the bidi patta village, afternoon return back to Kanker palace.<br />
<br />
Overnight- Kanker</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> (sat)- Kanker-Muria Tribe Village- (Gotul dance) Jagdalpur (4hr drive+ visit)
										</p>
										<p class="aj">After breakfast departure for Muria tribal village enroute visit the dokra metal casting village at Kondagaon.<br />
While hiking the Muria village excursion their lifestyle , Overnight stay in the basic tent near the Gotul House ( female dormitory) at the Muria village and evening <br />
 enjoy the Gotul Dance <br />
.<br />
Overnight- Jagdalpur</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> (sun)- Dandami Maria village/ Bison Horn Dance-Tirathgarh waterfall- Jagdalpur (3hr drive+ visit)
										</p>
										<p class="aj">Morning meet the most colorful Dandami Maria Tribe at their village, enjoy their Bison Horn Dance in their centre of village ambiance. <br />
Pm- Visit Tirathgarh waterfall and their famous weekly market also.<br />
<br />
Overnight- Jagdalpur</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> (mon)- Raj Maria village/ Market- Kurendi/ Jagdalpur (3hr drive+ visit)
										</p>
										<p class="aj">Morning while hiking the village excursion the life style of colorful Raj Maria tribe<br />
Proceed towards Maria Village excursion their unique weaving method and then afternoon famous weekly market excursion the life style at their. <br />
Pm- Enjoy their cock fighting at the end of weekly maket<br />
.<br />
Overnight- Jagdalpur</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> (tue)- Jagdalpur- Dorla / Batra tribes- Barsur- Jagdalpur (4hr drive+ visit)
											</p>
											<p class="aj">Meet the Dorla and Batra tribe at Barsur region and also visit the ancient Mama Bhanja temple, Ganesh temple etc at Barsur. <br />
<br />
Overnight- Jagdalpur</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> (wed)-Batra/ Dhurvaa tribal village- chirtrakoot waterfall- Maria village- Jagdalpur (4hr drive+ vis
											</p>
											<p class="aj">Meet the Batra and Dhurvaa tribes at their village afternoon visit the Gargious Chitrakoot waterfall and also Maria village- their unique worship place , typical house style etc then return back to jagdalpur – Kurendi jungle resort.<br />
<br />
Overnight- Jagdalpur</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> (thu)-Bastar Market-Keskal- Gond Tribal village in lush green forest-Kanker(4hr drive+ visit)
											</p>
											<p class="aj">Meet the Maria and Gond communities at Bastar weekly market , then visit the Keskal area , meet the colorful Gond tribes at their village surrounding in lush green forest, nearby beautiful streams and ancient shiva temple etc.<br />
<br />
Overnight- kanker</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> (fri)-Rajim Group of Temple- Raipur (3hr drive+ visit)
											</p>
											<p class="aj">Morning after camp breakfast drive towards Raipur, enroute visit the Rajim Group of ancient temples if time permit visit the “ Kankali” temple at Raipur and relax at Budha talab. and meet the local bamboo basket making village too.<br />
<br />
Overnight- Raipur</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 15:</b> (sat)-Departure
											</p>
											<p class="aj">Departure to Airport / Railway station for your onward journey.</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>
																</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">Itinerary Details</p>
		<div class="dynamic-data-container">
    	<table class="bdrAll" width="100%" cellpadding="5">
			<tr>
				<td class="data p5px">Tribal Fair & Festival of Chhattisgarh</td>
				<td class="data p5px">2018</td>
			</tr>
			<tr>
				<td class="data p5px">Rajim Kumbha Mela (Naga Sadhu fair)</td>
				<td class="data p5px">31st Jan.- 14th Feb.</td>
			</tr>
			<tr>
				<td class="data p5px">Gonnchha Festival</td>
				<td class="data p5px">14th July- 22nd July</td>
			</tr>
			<tr>
				<td class="data p5px">Bastar Dussehra Festival</td>
				<td class="data p5px">15th Oct.-20th Oct.</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>				
								<ul>
	<li>We can change or revised this above itinerary accordingly your arrival &amp; departure date and prepare instant itinerary too.</li>
	<li>We categorized deluxe and standard package for discounted best package price please feel free to contact with our expert team.</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="https://www.orissatribaltours.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Tribes 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="98495"/>
						</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="https://www.orissatribaltours.com/bhubaneswar-tour-packages.htm" title="Bhubaneswar Tour Packages">Bhubaneswar</a> <b class="alpha50 bn small">(32)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/raipur-tour-packages.htm" title="Raipur Tour Packages">Raipur</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/kanker-tour-packages.htm" title="Kanker Tour Packages">Kanker</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/puri-tour-packages.htm" title="Puri Tour Packages">Puri</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/jagdalpur-chhattisgarh-tour-packages.htm" title="Jagdalpur Tour Packages">Jagdalpur</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/rayagada-tour-packages.htm" title="Rayagada Tour Packages">Rayagada</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/dhenkanal-tour-packages.htm" title="Dhenkanal Tour Packages">Dhenkanal</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/kendrapara-tour-packages.htm" title="Kendrapara Tour Packages">Kendrapara</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/ratnagiri-tour-packages.htm" title="Ratnagiri Tour Packages">Ratnagiri</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/indore-tour-packages.htm" title="Indore Tour Packages">Indore</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/visakhapatnam-tour-packages.htm" title="Visakhapatnam Tour Packages">Visakhapatnam</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/jabalpur-tour-packages.htm" title="Jabalpur Tour Packages">Jabalpur</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/kondagaon-tour-packages.htm" title="Kondagaon Tour Packages">Kondagaon</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/konark-tour-packages.htm" title="Konark Tour Packages">Konark</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/ganjam-tour-packages.htm" title="Ganjam Tour Packages">Ganjam</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/mumbai-tour-packages.htm" title="Mumbai Tour Packages">Mumbai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/bhopal-tour-packages.htm" title="Bhopal Tour Packages">Bhopal</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/jeypore-tour-packages.htm" title="Jeypore Tour Packages">Jeypore</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/gopalpur-tour-packages.htm" title="Gopalpur Tour Packages">Gopalpur</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/guwahati-tour-packages.htm" title="Guwahati Tour Packages">Guwahati</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/bargarh-tour-packages.htm" title="Bargarh Tour Packages">Bargarh</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/umaria-tour-packages.htm" title="Umaria Tour Packages">Umaria</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/chhatarpur-tour-packages.htm" title="Chhatarpur Tour Packages">Chhatarpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/balasore-tour-packages.htm" title="Balasore Tour Packages">Balasore</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/ujjain-tour-packages.htm" title="Ujjain Tour Packages">Ujjain</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/ahmedabad-tour-packages.htm" title="Ahmedabad Tour Packages">Ahmedabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/hyderabad-tour-packages.htm" title="Hyderabad Tour Packages">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/darjeeling-tour-packages.htm" title="Darjeeling Tour Packages">Darjeeling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/kanha-tour-packages.htm" title="Kanha Tour Packages">Kanha</a> <b class="alpha50 bn small">(2)</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="https://www.orissatribaltours.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(59)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/hiking-holidays-catid.htm" title="Hiking Packages">Hiking</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="https://www.orissatribaltours.com/trekking-holidays-catid.htm" title="Trekking Packages">Trekking</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/cycling-holidays-catid.htm" title="Cycling Packages">Cycling</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/national-parks-holidays-catid.htm" title="National Parks Packages">National Parks</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/bird-watching-holidays-catid.htm" title="Birdwatching Packages">Birdwatching</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="https://www.orissatribaltours.com/safari-holidays-catid.htm" title="Safari Packages">Safari</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>
				</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:68:"Book Tribes of Chhattisgarh Tour - 14 Nights / 15 Days Tour Packages";i:2;s:113:"book tribes of chhattisgarh tour - 14 nights / 15 days tour packages, heritage tour packages, korba tour packages";i:3;s:149:"Orissa Tribal Tours offers Tribes of Chhattisgarh Tour - 14 Nights / 15 Days tour package, budget Heritage tour packages for Korba at exciting price.";i:4;s:3809:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Korba"        
		                 },
		      "description": "GONDS
The Gonds tribes, who are also recognized as the Koytorias are widely dispersed throughout the state. However they mainly predominates the dense forests enclosed in southern Chhattisgarh's Bastar district. The three principal sub castes of the aboriginal Gonds are the Dorla, Maria and Muria races.

ABHUJ MARIA
Amongst the various tribals residing in Chhattisgarh, the Abhuj Maria races of aborigines deserve special mention. They live in isolation and inhabit the secluded enclaves of Bastar District. The areas inhabited by the Abhuj Maria tribals are a dense forest that sprawls across nearly 1500 miles of lush greenery. The Abhuj Maria tribals at times are hostile to strangers. They still follow their age-old practices of livelihood.

DANDAMI MARIA (BISON HORN MARIA)
This tribal community of Chhattisgarh derived their name from their unique custom of wearing a distinctive hear-gear, which resembles the horns of a wild bison. They generally wear that head-gear during ceremonies. The main distinct language spoken by this tribe of Chhattisgarh is Dandami Maria. Some of them speak Gondi dialects, which is an oral language of Dravidian Origin.

BAIGA
The Baiga tribe are among the most colourful tribal communities not only Chhattisgarh but also in India. The special tattoo mark on the forehead and body of the female give the different identity among other. Endogamy and consanguineous marriage are features that are commonly prevalent in the society of the Baigas. Agriculture, hunting, fishing, extracting forest products etc. are the prime occupations of Baiga tribe.

DHURVAA
These tribes are located in Bastar region. The cloth wearing style of Dhurvaa lady, their hair style, tattoo mark , on their foot they wear metal anklet also specify them to other.

MURIA
The populace of Chhattisgarh is mainly dominated by tribal of which the Muria rave of aborigines holds a special place. The Murias are one of the innumerable tribes that inhabit Chhattisgarh. They are prominent sub caste of the Gonds. The Muria tribesmen primarily reside in the dense forest zones of Narayanpur and Kondagaon of Bastar district. Unmarried young girl's dormitory - Gotul is prominent in this Muria tribal village.

KORVA
The Korva tribals are found in Bilaspur, Sarguja and Raigarh district and are divided into two main territorial groups- Pahari Korva (hill) and Plains Korva (dihariya). They usually carry bow and arrow and practice agriculture and collect forest produce as well. Both men and women of Korva tribes are fond of ornaments and they wear it a lot.

BHATRA
Bhatra tribes are located in Bastar and border of orissa state, their settlement ( wall of houses and boundary made by clay) is unique then others. They are ranked first in terms of social hierarchy. They worship Mahua trees.
Note: also each day of the Bastar region there is a weekly market for different tribal communities. Where is nice to explore the lifestyle of that particular tribe. So, just mail your arrival and departure detail rest you leave on us.
We are the only travel agent who organize the tent tour ( camping) in Dandami Maria , Baiga & Muria village for special interest guest and also organize the tribal dance programme at Dandami Maria village, Baiga Dance at their village and Gutul dance in Muria village during tribal tours. Hiking of different isolated village & weekly market.",
		      "name": "Tribes of Chhattisgarh Tour",
		      "telephone": "+91-9439050039"
		    }
		    </script>
			";i:5;N;}