a:6:{i:0;s:33630:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>12 Days Kedarnath Badrinath Tour Package</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.theparadisehimalyan.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.theparadisehimalyan.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> 12 Days Kedarnath Badrinath Tour Package</p>
						</div>
						</div>
						</section>
										<section id="middle"><br />
				<div class="wrap packages" id="bodyFormatNT">
				<div class="row1 dt columns12"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls"><!--MIDDLE ROW1 COL-2 STARTS-->				
								
						<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> 
						11 Nights / 12 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Dungarpur</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.theparadisehimalyan.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="12 Days Kedarnath Badrinath Tour Package - 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="196134"/>
						</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_18/525901/311160.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_18/525901/311160.jpg"  height="150"  width="150"    alt="12 Days Kedarnath Badrinath Tour Package" title="12 Days Kedarnath Badrinath Tour Package" /></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> Haridwar
										</p>
										<p class="aj">Meet our driver at airport /station / hotel / home and drive to Haridwar hotel. Check into the hotel arrival in Haridwar. Evening visit Mansa Devi Temple & Ganga aarti at Har Ki Pauri. Overnight stay at Haridwar. <br />
<br />
Haridwar: The holy city of Haridwar translates to “Gateway to God,” and the breathtaking city, replete with temples, is a magnet for religious pilgrims from all over the globe. Religious festivals hold even further draw, and tourists can’t helped but be compelled by the city’s aura of intense spirituality. Haridwar is one of the seven holiest places of the Hindus, located on the banks of River Ganges. The sheer numbers of people gathering around Har-ki-Pairi Ghat give Haridwar a chaotic but reverent feel.</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> Haridwar – Barkot (210kms/7-8hr) Height: 1352 MTS.
										</p>
										<p class="aj">Morning meet our driver at haridwar& drive for Barkot via Mussoorie, enroute visit Mussoorie Lake &Kempty Fall in Mussoorie. Later drive straight to Barkot. Check into the hotel arrival in Barkot. Overnight stay at Barkot. <br />
<br />
Barkot Weather – Generally pleasant in summer, the temperature ranges from 25-30 degree Celsius, winter: The Days are pleasantly cool but the nights are cold, temp ranges from 10 deg to 05 deg.</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> Barkot – Yamunotri – Barkot
										</p>
										<p class="aj">Early morning after breakfast (packed breakfast), drive to Jankichatti/Phoolchatti& startrek from here to Yamunotri (6kms) (Either by walk or by horse or by Doli at own cost). After taking bath in JamunabaiKund’s warm water and having “Darshan” of “Yamunaji” return to Jankichatti by trek. Later drive towards Barkot, Overnight stay at Barkot. <br />
<br />
Yamunotri Temple: Maharani Gularia of Jaipur built the temple in the 19th Century. It was destroyed twice in the present century and rebuilt again. At Yamunotri, One can cook rice by packing it in a cloth and dipping it in the hot water of the Taptkund. Pilgrims take this cooked rice home as “Prasad”. Here near the temple “Pooja” can be offered to DivyaShila. <br />
<br />
Yamunotri Temple: Maharani Gularia of Jaipur built the temple in the 19th Century. It was destroyed twice in the present century and rebuilt again. <br />
<br />
Surya Kund: There are a Number of thermal springs in the vicinity of the temple, which flows into numerous pools. The most important of these is Surya Kund. <br />
<br />
Divya Shila: A rock pillar, worshipped before entering the Yamunotri Temple. <br />
<br />
Yamunotri Weather – In summer the maximun temp is 18 degrees and the minimum is 10 degrees celsius. The days are pleasantly cool but the nights are cold.</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> Barkot – Uttarkashi (100kms/4hr) Height: 1352 MTS.
										</p>
										<p class="aj">Morning after breakfast, drive to Uttarkashi. Check into the hotel arrival in Uttarkashi.Visit KashiVishwanath Temple in Uttarkashi.Overnight stay at Uttarkashi. <br />
<br />
Uttarkashi: Uttarkashi is home to a number of ashrams, temples. The name of the town reflects its similarity to and location (as north of) the city of Kashi (Varanasi). Similar to Varanasi, town of Uttarkashi is also situated on the banks of River Ganga. <br />
<br />
Vishwanath temple – Vishwanath temple is one of the oldest Shiva temples in Northern India. Re-constructed in 1857 by Maharani Khaneti Devi of Tehri State in the ancient architectural style. It is situated at the heart of the town. A massive iron trident, symbolic of divine mother’s, is erected and worshiped from time immemorial at the temple complex. Ganeshji, SakshiGopal, Markandeya Rishi’s small shrines are also part of the temple complex. AkhandJyoti as well as AkhandAbhishek, special aarti at morning and evening are offered. As per SkundaPuran, Uttarkashi is known as ‘Saumya Varanasi’, the abode of Lord Shiva in Kaliyug and counted as one of the twelve Jyotirlingas. <br />
<br />
Shakti temple – Right in front of the Vishwanath temple is Shakti temple. It has a big ‘Trishul’ of about 6 meters in height and a circumference of 90 cms. at bottom. Though there are different views about the making of this, the upper part of it seems to be made up of iron and the lower one is of copper. As per the epics this Shakti was thrown on the devils by the Goddess Durga(Shakti), hence it gets its name. Since then this Shakti is erected over here. <br />
<br />
Uttarkashi Weather – Generally hot in summer, the temperature ranges from 30-35 degree Celsius but nights is pleasant, Cold in winters.</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> Uttarkashi – Gangotri – Uttarkashi (100kms/3-4 hrs. each side) Height: 3048 MTS.
										</p>
										<p class="aj">Early morning (packed breakfast) drive to Gangotri, enroute at Gangnani take a holy dip in GaramKund, further drive to Gangotri via beautiful Harsil Valley. Harsil is famous for its nature beauty and for the majestic views of the Deodar trees and mountains. On arrival at Shree Gangotri, take a holy dip in the sacred river Ganges which is also called Bhagirathi at its origin. Perform Pooja and Darshan, after that relax for some time in the lovely surroundings. Later drive back to Uttarkashi. Overnight stay at Uttarkashi. <br />
<br />
Gangotri Temple: The temple was constructed by the Gorkha General Amar Singh Thapa in the 18th Century, is situated on the right bank of Bhagirathi. <br />
<br />
Gangotri Weather – The maximum temperature during summer can go up to 20° Celsius. Summer nights can get cooler with a minimum temperature of 10° Celsius. Light woolen clothes are required while visiting Gangotri during summer. Winter season is very chilly in Gangotri. Gangotri will be covered in sheets of snow during winter. Pilgrim centers remains closed throughout winter due to heavy snow falls.</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> Uttarkashi – Guptkashi (220kms/8-9 hrs.) Height: 1319 MTS.
										</p>
										<p class="aj">Morning after breakfast,drive to Guptkashi via Moolgarh & Lambgoan. Enroute you can see the beautiful river Mandakini at Tilwara. The Mandakiniriver comes from Kedarnath, drive alongside the river to reach Guptakashi, visit ArdhNarishwar Temple in Guptakashi. Check into the hotel arrival in Guptakashi. Overnight stay at Guptakashi. <br />
<br />
Guptakashi:-The name GuptKashi means “Hidden Benares. Mythology describes how when the Pandava brothers were searching for a glimpse of Shiva, Shivji first concealed himself at Guptkashi, but later fled from them further up the valley to Kedarnath, where the Pandavas finally got their wish fulfilled. There are more tangible connections as well-the Kedarnath pandas (priests) live in Guptkashi during the winter months, and after the Kedarnath temple closes for the winter, the image of Kedarnath passes through GuptKashi on its way to Ukhimath (across the valley), where it stays for the winter. <br />
<br />
Guptkashi Weather – pleasant in summer, the temperature ranges from 25-30 degree Celsius. Cold in winters.</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> Guptkashi - Kedarnath (30kms by road & 14kms Trek)
										</p>
										<p class="aj">Morning drive to Gaurikund, Trek start from Gaurikund to Kedarnath (3584 mts) on foot or on by pony / Doli. Tour members should carry personal medicines, heavy woolen, toiletries and clothes for an overnight halt at Kedarnath. Check in Hotel. Later visit Kedarnath Temple . Night halt. <br />
<br />
Gaurikund: At a distance of 5kms from Sonprayag and at an altitude of 1982 meters., one can take bath in the hot water pond here and visit the Gauri Temple . This is the place where Goddess Parvathi meditated to attain Lord Shiva. It is the base for a trek to Kedarnath. <br />
<br />
Kedarnath: The Kedarnath shrine, one of the 12 jyotirlingas of Lord Shiva, is a scenic spot situated, against the backdrop of the majestic Kedarnath range. Kedar is another name of Lord Shiva, the protector and the destroyer. According to legend, the Pandavas after having won over the Kaurava in the Kurukshetra war, felt guilty of having killed their own brothers and sought the blessings of Lord Shiva for redemption. He eluded them repeatedly and while fleeing took refuge at Kedarnath in the form of a bull. On being followed he dived into the ground, leaving his hump on the surface. The remaining portions of Lord Shiva appeared at four other places and are worshipped there as his manifestations. The arms appeared at Tungnath, the face at Rudranath, the belly at Madhmaheshwar and his locks (hair) with head at Kalpeshwar. Kedarnath and the four above-mentioned shrines are treated as Panch Kedar.</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> Kedarnath – Guptkashi
										</p>
										<p class="aj">It is extra day for you (whoever is using helicopter services because weather in kedarnathji is unpredictable ,so to complete you darshan/Yatra we always advise to keep extra days in your hand )</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> Guptkashi – Badrinath (160kms/7hr) Height: 3133 MTS.
										</p>
										<p class="aj">Morning after breakfast, drive to Badrinath. Check in to the hotel arrival in Badrinath. Pilgrims after having a bath in the Taptkundhave the Darshan of Badrivishal&Aarti in evening. Brahamakapal is significant for PinddanShraddh of ancestors (Pitrus). There are other interesting sightseeing spot like Mana, VyasGufa, Maatamoorti, Charanpaduka, Bhimkund and the “Mukh” of the Saraswati River. Just within the three kms of Badrinathjee.Overnight stay at Badrinath. <br />
<br />
Badrinath one of the ‘Ancient Four Dhams’ is one of the most celebrated pilgrimage spots of the country and is situated at an elevation of 3,133 meters, guarded on either side by the two mountain ranges known as Nar & Narayan with the towering Neelkanth Peak providing a splendid backdrop. This revered spot was once carpeted with wild berries. Thus the place got the name “Badri van”, meaning “forest of berries”. <br />
<br />
Tapt Kund:Natural thermal springs on the bank of the river Alaknanda, where it is customary to bath before entering the Badrinath temple. <br />
<br />
Mana Village:Inhabited by an Indo-Mongolian tribe, it is the last Indian village before Tibet. <br />
<br />
Vasundhara: As the name suggests, vasundhara is a magnificent water fall. This place is 5 kms. From Badrinath out of which 2 kms. Is motorable upto Mana. <br />
<br />
Bhim Pul: On the other side of Mana village, a massive rock forming a natural bridge, lies over the roaring Saraswati river. It presents a spectacular view of water thundering down through the narrow passage under the rock and is believed to have been placed there by Bhim, the second eldest among the five Pandava brothers. <br />
<br />
Vyas Gufa (cave): Near Mana Village, this is a rock-cave where VedVyas is believed to have composed the Mahabharata and the pauranic commentaries. <br />
<br />
Badrinath Weather: The average maximum temperature will be around 18° Celsius and the average minimum is 8° Celsius. Warm and woolen clothes are hence required for a stay in Badrinaththroughout the year. Winter in Badrinath is often accompanied by snow falls. Winter is very chilly with an average temperature of 5° Celsius. Due to the extreme climatic conditions, this time is usually closed for tourists.</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> Badrinath – Joshimath – Rudraprayag (160kms/7hr) Height: 895 MTS.
										</p>
										<p class="aj">Morning after breakfast,driver for Rudraprayag via Joshimath. Visit on the way Narsingh Temple in Joshimath later drive back to Rudraprayag via Joshimath. Check into the hotel arrival in Rudraprayag. Overnight stay at Rudraprayag. <br />
<br />
Joshimath is situated on the slopes above the confluence of the rivers Alaknanda and Dhauliganga. Of the four ‘Maths’ established by AdiShankaracharya, Joshimath is the winter seat of Badrinath. The idol is brought down to Joshimath and installed in the temple for people to worship. There are many other temples in the township. The most important is the temple of Nir Singh with the idol of Lord Vishnu. The left arm of this deity is getting destroyed with time and the popular belief holds that the day the arm completely withers Badrinath valley will cease to exist and the Gods will transfer the residence into the neighboring Niti Valley at BhavishyaBadri. <br />
<br />
Rudraprayag is one of the PanchPrayag (five confluences) of Alaknanda River. It is confluence of rivers Alaknanda and Mandakini. Kedarnath, a Hindu holy town is located 86 km from Rudraprayag. <br />
<br />
And other places. In evening transfer to Haridwar. On arrival check-in at the Hotel for dinner & overnight stay. <br />
<br />
Rudraprayag Weather – Generally hot in summer, the temperature ranges from 35-40 degree Celsius, Winter: The Days are pleasantly cool but the nights are cold, temp ranges from 20 deg to 05 deg.</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> Rudraprayag – Haridwar (165kms/5-6hr)
											</p>
											<p class="aj">Morning after breakfast, drive for Haridwar via Rishikesh.Rishikesh’place of sages’ is a celebrated spiritual town on the bank of Ganga and is surrounded by Shivalik range of the Himalayas on three sides. It is said that when Raibhya Rishi did hard penances, God appeared by the name of” Hrishikesh ” and this area hence firth came to be known as Rishikesh. Later visit RishikeshTemples Sight Seeing – LaxmanJhulla, Ram Jhulla. Stay at Haridwar. <br />
<br />
Rishikesh: Named after the Lord Vishnu, Rishikesh is a holy city for Hindus. Located in the foothills of the Himalaya in northern India it is also known as the yoga center of the world and is home to many world renowned ashrams. Rishikesh styles itself as the ‘Yoga Capital of the World’, with masses of ashrams and all kinds of yoga and meditation classes. The fast-flowing Ganges is surrounded by forested hills inside the city. Apart from temples and ashrams Rishikesh is now a popular white-water rafting centre, backpacker hang-out, and gateway to treks in the Himalaya.</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> Haridwar
											</p>
											<p class="aj">Morning after breakfast, check-out from the hotel & transfer to  Rly Station/Airport/Hotel/Home</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>EP (No Meal)</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</li><li>
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.</li><li>
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.theparadisehimalyan.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="12 Days Kedarnath Badrinath Tour Package - 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="196134"/>
						</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.theparadisehimalyan.com/shimla-tour-packages.htm" title="Shimla Tour Packages">Shimla</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/manali-tour-packages.htm" title="Manali Tour Packages">Manali</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/chandigarh-city-tour-packages.htm" title="Chandigarh City Tour Packages">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/new-delhi-tour-packages.htm" title="New Delhi Tour Packages">New Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/kedarnath-tour-packages.htm" title="Kedarnath Tour Packages">Kedarnath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/dungarpur-tour-packages.htm" title="Dungarpur Tour Packages">Dungarpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/jammu-tour-packages.htm" title="Jammu Tour Packages">Jammu</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/kuala-lumpur-tour-packages.htm" title="Kuala Lumpur Tour Packages">Kuala Lumpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/alleppey-tour-packages.htm" title="Alleppey Tour Packages">Alleppey</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/pattaya-tour-packages.htm" title="Pattaya Tour Packages">Pattaya</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.theparadisehimalyan.com/sonamarg-tour-packages.htm" title="Sonamarg Tour Packages">Sonamarg</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.theparadisehimalyan.com/kovalam-tour-packages.htm" title="Kovalam Tour Packages">Kovalam</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.theparadisehimalyan.com/uttarkashi-tour-packages.htm" title="Uttarkashi Tour Packages">Uttarkashi</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.theparadisehimalyan.com/kufri-tour-packages.htm" title="Kufri Tour Packages">Kufri</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.theparadisehimalyan.com/gangotri-tour-packages.htm" title="Gangotri Tour Packages">Gangotri</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.theparadisehimalyan.com/haridwar-tour-packages.htm" title="Haridwar Tour Packages">Haridwar</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.theparadisehimalyan.com/munnar-tour-packages.htm" title="Munnar Tour Packages">Munnar</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.theparadisehimalyan.com/badrinath-tour-packages.htm" title="Badrinath Tour Packages">Badrinath</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.theparadisehimalyan.com/goa-city-tour-packages.htm" title="Goa City Tour Packages">Goa City</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.theparadisehimalyan.com/katra-tour-packages.htm" title="Katra Tour Packages">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.theparadisehimalyan.com/leh-ladakh-tour-packages.htm" title="Leh Ladakh Tour Packages">Leh Ladakh</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.theparadisehimalyan.com/trivandrum-tour-packages.htm" title="Trivandrum Tour Packages">Trivandrum</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.theparadisehimalyan.com/barkot-tour-packages.htm" title="Barkot Tour Packages">Barkot</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.theparadisehimalyan.com/zanskar-tour-packages.htm" title="Zanskar Tour Packages">Zanskar</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.theparadisehimalyan.com/thekkady-tour-packages.htm" title="Thekkady Tour Packages">Thekkady</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.theparadisehimalyan.com/bangkok-tour-packages.htm" title="Bangkok Tour Packages">Bangkok</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.theparadisehimalyan.com/kullu-tour-packages.htm" title="Kullu Tour Packages">Kullu</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.theparadisehimalyan.com/joshimath-tour-packages.htm" title="Joshimath Tour Packages">Joshimath</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.theparadisehimalyan.com/port-blair-tour-packages.htm" title="Port Blair Tour Packages">Port Blair</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.theparadisehimalyan.com/rudraprayag-tour-packages.htm" title="Rudraprayag Tour Packages">Rudraprayag</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.theparadisehimalyan.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/honeymoon-holidays-catid.htm" title="Honeymoon Packages">Honeymoon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/house-boat-holidays-catid.htm" title="House Boat Packages">House Boat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/adventure-holidays-catid.htm" title="Adventure Packages">Adventure</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.theparadisehimalyan.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(1)</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:81:"Book 12 Days Kedarnath Badrinath Tour Package - 11 Nights / 12 Days Tour Packages";i:2;s:241:"book 12 days kedarnath badrinath tour package - 11 nights / 12 days tour packages, religious & pilgrimage tour packages, haridwar, kedarnath, badrinath, yamunotri, gangotri, joshimath, rudraprayag, uttarkashi, barkot, dungarpur tour packages";i:3;s:279:"The Paradise Himalyan offers 12 Days Kedarnath Badrinath Tour Package - 11 Nights / 12 Days tour package, budget Religious & Pilgrimage tour packages for Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Dungarpur at exciting price.";i:4;s:517:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Haridwar, Kedarnath, Badrinath, Yamunotri, Gangotri, Joshimath, Rudraprayag, Uttarkashi, Barkot, Dungarpur"        
		                 },
		      "description": "",
		      "name": "12 Days Kedarnath Badrinath Tour Package",
		      "telephone": "91-7018970263"
		    }
		    </script>
			";i:5;N;}