a:6:{i:0;s:32052:"				<div class="h1"><h1>Jyotirlinga Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.seaqueenholiday.com/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.seaqueenholiday.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Jyotirlinga 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">
						25 Nights / 26 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">New Delhi, Varanasi, Chennai, Madurai, Indore, Ujjain, Mumbai, Nashik, Pune, Gaya, Kolkata, Dwarka, Rishikesh, Kangra, Somnath, Rudraprayag, Baijnat</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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jyotirlinga 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="35474"/>
						</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_8/235469/153053.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_8/235469/153053.jpg"  width="150" height="150"    alt="Jyotirlinga Tour" title="Jyotirlinga 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> Kolkata
								</p>
								<p class="aj">Arrive Kolkata the third largest city of India, meet and greet with our office representative, assistance and transfer to hotel check in. Rest time free for personal activities, relax etc. Overnight at hotel.</p>					
									<p><b>Meals : </b> Breakfast</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
								</p>
								<p class="aj">Breakfast at hotel, Half day city tour of Kolkata Visit Calcutta’s historical landmarks - the magnificent Fort William still out of bounds for visitors. Victoria Memorial: The Victoria Memorial reflects colonial power in Calcutta, once the capital and most profitable center of British rule in India. The monument dates from the early twentieth century and is today a museum for relics of the Raj. At one end of the Maidan (An open pitch of huge dimensions was kept as a free fields of fire for Fort William's guns. It is still a favourite area for thousands in the early morning) is Calcutta's most imposing and monumental 'dream in marble'. It is a treasure trove of Raj relics and offers tree-lined walks in splendid parks and houses a number of superb statues including that of Queen Victoria. Howrah Bridge: Calcutta's most enduring symbol, and a very important communicating link across the banks of Hooghly is the Howrah bridge, the largest cantilevered structure in the world and built in 1941. Afternoon visit local market etc.</p>					
									<p><b>Meals : </b> Breakfast</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> Kiul - Visit Baijnath Temple (Vaidyanathan)
								</p>
								<p class="aj">Arrive early in the morning at Kiul Railway Station.  Meeting on arrival and continue driving to Deogarh to visit Baijnath temple (Your first Jyotirling). {The legend of Vaidyanathan goes something like this. The demon lord from the Ramayan, the devout  Ravana meditated hard in order to invoke Lord Shiva, and requested him to come over to Sri Lanka, in order that his capital may become invincible. It is said that he attempted to lift the holy mountain, Lord Shiva's abode, Mount Kailash and take it with him to his capital; however Shiva crushed him with his finger, and Ravana prayed to him and sought his mercy, after which Shiva gave him one of the twelve Jyotirlingams with the condition that if it was placed on the ground it would take root immediately and hence Ravana had to carry it back on his trek to his capital. Varuna the God of water, entered Ravana's belly, and caused him to feel the need to relieve himself. Vishnu then came down in the form of a lad and volunteered to hold the Jyotirlingam as he relieved himself. But before Ravana could return, the young lad placed the jyotirlingam on the ground to which it became rooted. A disappointed Ravana offered severe penances to Shiva here, and cut off nine of his heads as a part of his repentance. Shiva revived him and joined the heads to the body, like a Vaidya or a physician, hence this Jyotirlingam goes by the name Vaidyanath. The same legend holds at Gokarnam in Karnataka} since we do not have quality / good accommodation at Baijnath, will continue driving to Bodhgaya for overnight stay. Overnight at Bodhgaya.</p>					
									<p><b>Meals : </b> Breakfast</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> Bodhgaya - Varanasi - By Surface
								</p>
								<p class="aj">Morning visit Bodhgaya - it is a place where Lord Buddha attained enlightenment. Visit Bodhi tree, Mahabodhi Temple- which marks the spot where Buddha gained enlightenment and set out on his life of preaching, Monasteries. Late morning drive to Varanasi and check in at the hotel.</p>					
									<p><b>Meals : </b> Breakfast</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> Varanasi - Delhi - By Overnight train
								</p>
								<p class="aj">Early morning sunrise boat cruise over holy river Ganges will take you to its famous bathing ghats (banks) where hundreds of pilgrims can be seen cleansing their souls by taking a holy dip. Also visit its burning ghats where bodies are cremated after performing the last rites according to ancient Hindu customs. Later you would be taken to the Kashi Vishwanath Temple (your second Jyotirlinga) where you can perform pooja etc. Return to the hotel for late breakfast.<br />
Afternoon city tour of Varanasi-This sacred city over two thousand years old is the holiest city of the Hindus and a great center of learning and civilization. It has now more than 200 temples and shrines. Visit Bharat Mata temple, Durga temple, Banaras Hindu University etc. Drive past the bazaars, brocades & famous Banarasi silk sari shops.<br />
Later today you would be transferred to the Railway Station in time to board the overnight train to Delhi.</p>					
									<p><b>Meals : </b> Breakfast</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> Delhi
								</p>
								<p class="aj">Arrive at Delhi Railway Station. On arrival meet with our representative and transfer to hotel. Rest of the day free at leisure and visit local market.</p>					
									<p><b>Meals : </b> Breakfast</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> Rishikesh - Rudraprayag - By Surface
								</p>
								<p class="aj">drive to Rudraprayag via Rishikesh. On arrival at check-in at hotel. Rest of the day free at leisure. Overnight at hotel.</p>					
									<p><b>Meals : </b> Breakfast</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> Rudraprayag - Gaurikund - Kedarnath
								</p>
								<p class="aj">Morning drive to Gaurikund (72kms/ 2hrs approx) and commence trek to Kedarnath (Apprx. 04-05 hrs). On arrival Check-in at Hotel. Evening Pooja Aarti at the temple of Kedarnath - the Northernmost of the Jyotirlingas (Your third Jyotirlinga), nestled in the snow clad Himalayas is an ancient shrine rich in legend and tradition. It is accessible only six months in a year.  Overnight at Kedarnath.</p>					
									<p><b>Meals : </b> Breakfast</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> Kedarnath - Gaurikund - Rishikesh
								</p>
								<p class="aj">After morning Pooja trek drown to Gaurikund. After refreshing bath at Gaurikund hot springs we will drive to Rishikesh (212kms/ 5hrs approx) and check in at hotel. Overnight at Rishikesh.</p>					
									<p><b>Meals : </b> Breakfast</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> Rishikesh - Delhi
								</p>
								<p class="aj">Breakfast at hotel, drive to Delhi check-in at the hotel.<br />
Afternoon drive past Red Fort & Chandni Chowk Bazar, Khari Baoli spice market. Visit Jama Masjid (Mosque). Shah Jahan (King of the World) founded the city of Shahjanabad, now referred to as Old Delhi, in 1648. Opposite the fort is the Jama Masjid, one of the largest mosques in the world, built by Shah Jahan to dominate his city. Raj Gath; The memorial of Mahatma Gandhi where he was cremated after his assassination. Qutab Minar: The building complex dated back on the onset of Muslim rule in India and are fine examples of Afghan architecture. Himayun’s Tomb: Build by wife of Humayun, the second mughal king. It is an early example of Mughal architecture. India Gate; The 42m high stone "Arch of Triumph", erected in the memory of Indian soldiers who died in the First World War; Drive through Rajpath "Kingsway" a VVIP area of Delhi including Rashtrapati Bhawan. Overnight at Hotel.</p>					
									<p><b>Meals : </b> Breakfast</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> Delhi - Indore - By Morning flight
									</p>
									<p class="aj">Breakfast at hotel, transfer to airport to board flight for Indore. On arrival meet with our representative and transfer to hotel. After a short break drive to Onkareshewar (your fourth Jyotirlinga) (82kms/ 2hrs approx). The Temple of Lord Omkareshwar is situated on the banks of River Narmada, in between Indore & Khandwa. It is also a rare archaeological site. The temple is situated on an island, which is encircled by the Narmada River Temple. Enjoy your boat ride on river Narmada. Evening drive back to Indore.</p>					
										<p><b>Meals : </b> Breakfast</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> Indore - Ujjain - Indore - By surface
									</p>
									<p class="aj">Morning after breakfast spend full day excursion to Ujjain, visit the temple of Mahakaleshwar (Your fifth Jyotirlinga).<br />
The theertham opposite the Mahakaleshwarar temple is known as Koditheertham & it is said that the color of the waters of this theertham keeps changing. The Moola lingam is very small & is located underground. The lingam in the top level is called Ongareshwarar. The Kali Devi who gave darshan to Vikramaditya is known by the name Harasiddhi Matha. There once lived a brahmin in Avanti, who had four sons, who were great devotees of Lord Siva. Dushanan, a demon was giving trouble, disturbing all good & religious activities. The Brahmins from all over the land gathered with the four sons & performed pooja to Lord Siva. The spot where they had taken mud to make the Lingam, had become a huge pond. When Dushanan came to disturb their pooja, Lord Siva rose from this pond as Mahakaleshwarar & destroyed Dushanan. On the request of the Brahmins, Lord Siva gave darshan to devotees at this sthalam, one of the Jyotir Linga sthalams. Evening drive back to Indore and overnight.</p>					
										<p><b>Meals : </b> Breakfast</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> Indore - Nashik - By surface
									</p>
									<p class="aj">Early morning leave Indore for Nashik by road. On arrival check in at the hotel.</p>					
										<p><b>Meals : </b> Breakfast</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> Nasik - Aurangabad - By surface
									</p>
									<p class="aj">This morning visit your eight Jyotirlinga, i.e. Trimbakeshwar The temple is in the Indo Aryan style. The temple structure with excellent adornments of idols and sculptures is surrounded by a massive stone wall. There is a huge bull in front of the temple & another marble Nandi is seen on the inside. The sculptural adornments continue even to the garbagriha with human, animals and yakshas carved. From the Jyotir Lingam at the centre of the garbagriha, trickles the Ganges continuously throughout the year. Sometimes, it is said flames issue forth as also a rumbling sound. Later in the afternoon drive to Aurangabad. On arrival check-in at hotel. Overnight at hotel.</p>					
										<p><b>Meals : </b> Breakfast</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> Aurangabad
									</p>
									<p class="aj">This morning after breakfast full day excursion to Ajanta & Ellora Caves. Ajanta Caves - Lying deep within the Sahyadri hills, cut into the curved mountain side, above the Waghora River, are the awesome Ajanta group of caves, captivating tourists from all over. It was only in the 19th century, when a group of British officers on a tiger hunt discovered this artistry of yore. The caves at Ajanta depict the story of Buddhism, spanning the period from 200 BC to 650 AD. (Ajanta caves remain close on Monday's)<br />
Ellora Caves- 34 in number, are carved into the sides of a basaltic hill, 30 kms from Aurangabad. The finest specimens of cave - temple architecture, they house elaborate facades and exquisitely adorned interiors. These structures representing the three faiths of Hinduism, Buddhism and Jainism, were carved during the 350 AD to 700 AD period. (Ellora remain close on Tuesday's).</p>					
										<p><b>Meals : </b> Breakfast</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 16:</b> Aurangabad - Pune - By surface (235kms/ 05hrs approx) then Pune - Rajkot by overnight train
									</p>
									<p class="aj">Early morning visit Grishneshwar (Your ninth Jyotirlinga) is an ancient pilgrimage site revered as the abode of one of the 12 Jyotirlingas of Shiva. The Grishneswar Temple was constructed by Ahilyabhai Holkar who also re-constructed the Kashi Viswanatha Temple at Varanasi and the Vishnu Paada Temple at Gaya. The Grishneshwar Temple is also known by several other names like Kusumeswarar, Ghushmeswara, Grushmeswara and Grishneswara.<br />
This morning drive to Pune. On arrival Check-in at hotel. Later in the afternoon visit temple of Lord Bhimashankar (Your tenth Jyotirlinga) is situated in a Forest Reserve about 3 hours drive from Pune. The place is hilly with beautiful greenery all around. Later in the evening you would be transferred to the Railway Station in time for overnight train to Rajkot.</p>					
										<p><b>Meals : </b> Breakfast</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 17:</b> Rajkot
									</p>
									<p class="aj">Arrive Rajkot railway station. Meet with our office representative, assistance and transfer to the hotel. Rest of the day is free to relax after the long journey. Overnight at Rajkot.</p>					
										<p><b>Meals : </b> Breakfast</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 18:</b> Rajkot - Dwarka - By surface
									</p>
									<p class="aj">This morning drive to another shrine at Dwarka. On arrival check-in at hotel.<br />
Later in the afternoon visit Nageshwar temple (Your sixth Jyotirlinga). Shiv Purana, narrate the tale about the temple and it says that Shiva started to reside here in the form of Jyothirlinga after killing the demon by name Daruka. The place got its name from the demon Daruka who had appealed to the god before his death that the place be named after him. Hence the name Naagnath. In this temple the Shivalinga faces towards the south and the Gomugam is on the east. Giant statue of Lord Shiva allures the devotees with its aesthetic appeal. On the eve of Shivaratri, the temple premises witnesses huge turn out of devotee and which virtually changes the entire ambiance into a place of festivities. Overnight at Dwarka.</p>					
										<p><b>Meals : </b> Breakfast</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 19:</b> Dwarka - Somnath - By surface
									</p>
									<p class="aj">Morning drive to Somnath and check in at the hotel. Afternoon visit Somnath temple. (Your seventh Jyotirlinga), (Chandra Devan worshipped Siva at this spot to rid himself of the curse of Daksha. Chandra Devan is considered to have built this temple & hence the name Somanathar to the Lord.  Chandran fell in love with Rohini, one of the daughters of Dakshan.  But Dakshan wanted to give all his daughters in marriage to one able & loving person, who would treat all his daughters equally.  Chandran got married to all, but his love for Rohini was too great & the other daughters complained  to their father.  Dakshan cursed Chandran to dwindle in power & beauty.   When Chandran begged forgiveness, Dakshan said that only prayers to Lord Siva, could free him of the curse.  Chandran came to Somanath & prayed to Lord Siva, doing pen00ance for about 4,000 years.  Lord Siva appeared & said that he could not fully absolve him of the curse.  Instead, he would wane in 15 days, but would grow again.  This is the story said for the waxing & waning of the moon, producing new moon & full moon.) Overnight at Somnath.</p>					
										<p><b>Meals : </b> Breakfast</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 20:</b> Somnath - Diu - By surface
									</p>
									<p class="aj">Attend morning aarti and leave for Diu airport for to connect your flight to Mumbai. On arrival meet with our representative and transfer to hotel.</p>					
										<p><b>Meals : </b> Breakfast</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 21:</b> Mumbai - Hyderabad - By morning flight
									</p>
									<p class="aj">Transfer to airport for your flight to Hyderabad. On arrival meet with our representative and transfer to hotel.<br />
Afternoon explore this unique city visit Charminar, built by Mohammad Quli Qutab Shah in 1591 to commemorate the end of plague in Hyderabad; Mecca Masjid, is one of the largest mosques in the world and is said to accommodate upto 10,000 worshippers; Salar Jung Museum, which contains 35,000 exhibits from all corners of the world and includes sculptures, woodcarvings, religious objects, Persian miniature painting, illuminated manuscripts, armour and weaponry. Also on display are the swords, daggers of Mughal emperors and of Tipu Sultan; Golconda Fort , which dates from the time of Qutab Shahi kings (16th to 17th centuries) and is one of the most magnificent fortress complexes in India. Golconda remained the capital until 1590, when the court was moved to the new city of Hyderabad; tomb of Adil Shahi Kings, which are surrounded by landscaped gardens and number of them have beautifully carved stonework of Nawabs. Overnight at hotel.</p>					
										<p><b>Meals : </b> Breakfast</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 22:</b> Full day visit Mallikarjuna
									</p>
									<p class="aj">Today you will visit the temple of Lord Mallikarjuna (Your eleventh Jyotirlinga) is situated in the town of Srisailam on the banks of River Patalganga Krishna (Apprx. 03 hrs drive from Hyderabad). Srisailam Mountain is looked upon reverentially as the Kailash of South. The temple sculptures narrate in stone, epics from the great Hindu epics-Ramayana and Mahabharata. The architecture of the ancient Mallikarjun Temple is very beautiful and intricate. The temple has fort like walls, towers and a rich endowment of sculptural work. The huge temple is built in the Dravidian style with lofty towers and sprawling courtyards and is considered to be one of the finest specimens of Vijayanagar architecture. Temple of Tripurantakam, Siddavatam, Alampura and Umamaheswaram located in the vicinity of Mallikarjuna Jyotirlina are considered to be the four gateways to Sri Sailam. Overnight at Hyderabad.</p>					
										<p><b>Meals : </b> Breakfast</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 23:</b> Hyderabad - Madurai - By flight
									</p>
									<p class="aj">Breakfast at hotel, morning free at leisure. Afternoon transfer to airport to board flight for Madurai. On arrival meet our office representative assistance and transfer to hotel. Rest time free for personal activities relax etc. Overnight at hotel.</p>					
										<p><b>Meals : </b> Breakfast</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 24:</b> Madurai
									</p>
									<p class="aj">Breakfast at hotel city tour of Madurai, originally known as Madhurapuri got its name from the falling of divine nectar from Lord Shiva's rocks. Meenakshi Temple: This temple is the city's main attraction. This temple is nearly 2000 years old placed in the heart of the old town - a splendid example of Dravidian architecture. A striking feature of the temple is the astonishing structure knows as “Ayiramkaal Mandapam” or the Hall of Thousand Pillars and each pillar features high, ornate, bold sculptures that look life like. The present temple was designed in 1560 by Vishwanatha Nayak and subsequently built during the reign of Tirumalai Nayak. There are four entrances to the temple with an area of six hectares. Each of its 12 towers has the height of 45 to 50 meters. The Potrama Raikulam or the Golden Lotus Tank is the place where the Tamil literacy society, called Sangam used to meet to decide the merits of the work presented to them.  Tirumalai Nayak Mahal: This Indo-Saracenic building was built in 1636 by the ruler whose name it bears. The imposing edifice is famous for the “Stuccowork” on its domes and impressive arches. The Sorgavilasam (Celestial Pavilion), measuring 75m x 52m, constructed entirely of brick and mortar without the support of a single rafter or girder, is a marvel of indo-Saracenic architectural style.  Overnight at hotel.</p>					
										<p><b>Meals : </b> Breakfast</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 25:</b> Madurai - Rameshwaram - Madurai (165kms/ 3hrs approx one way)
									</p>
									<p class="aj">Full day excursion to Rameshwaram (your twelfth Jyotirlinga), the consecration of the temple of Lord Rameshwar was done by none other than Lord Rama himself, and thus this name. It is situated in a large island surrounded by sea in the southern side of India. According to the Puranas (the historical records of ancient India), upon the advice of Rishis (Highly respected sages), Bhagwan Rama along with Mata Sita and Shri Lakshmana, installed and worshipped the Sivalinga (A form of Lord Shiva) here to expiate the sin of Brahmahatya (killing of a Brahmin). (Ravana, the son of Vishrava and the great grandson of Lord Brahma). Shri Rama fixed an auspicious time for the installation and sent Shri Anjaneya to Mount Kailas (Kailash parvat) to bring a lingam. As Bhagwan Anjaneya could not return in time, Sita herself made a linga of sand. When Anjaneya returned with a linga from Mount Kailas the rituals had been over. To comfort the disappointed Bhagwan Anjaneya, Rama had Anjaneya’s lingam (Visvalingam) also installed by the side of Ramalinga, and ordained that rituals be performed first to the Visvalingam.<br />
Evening return to Madurai for overnight.</p>					
										<p><b>Meals : </b> Breakfast</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 26:</b> Madurai - Chennai/ Delhi by flight
									</p>
									<p class="aj">Breakfast at hotel, transfer to airport to board flight for Chennai/ Delhi for connecting flight to your home country.</p>					
										<p><b>Meals : </b> Breakfast</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 />
												 <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>
															</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.seaqueenholiday.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Jyotirlinga 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="35474"/>
						</form>
						</div>
						
						";i:1;s:57:"Book Jyotirlinga Tour - 25 Nights / 26 Days Tour Packages";i:2;s:259:"book jyotirlinga tour - 25 nights / 26 days tour packages, religious & pilgrimage tour packages, new delhi, varanasi, chennai, madurai, indore, ujjain, mumbai, nashik, pune, gaya, kolkata, dwarka, rishikesh, kangra, somnath, rudraprayag, baijnat tour packages";i:3;s:294:"Sea Queen Holidays offers Jyotirlinga Tour - 25 Nights / 26 Days tour package, budget Religious & Pilgrimage tour packages for New Delhi, Varanasi, Chennai, Madurai, Indore, Ujjain, Mumbai, Nashik, Pune, Gaya, Kolkata, Dwarka, Rishikesh, Kangra, Somnath, Rudraprayag, Baijnat at exciting price.";i:4;s:536:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Varanasi, Chennai, Madurai, Indore, Ujjain, Mumbai, Nashik, Pune, Gaya, Kolkata, Dwarka, Rishikesh, Kangra, Somnath, Rudraprayag, Baijnat"        
		                 },
		      "description": "",
		      "name": "Jyotirlinga Tour",
		      "telephone": "+91-9833538295"
		    }
		    </script>
			";i:5;N;}