a:6:{i:0;s:46174:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Rajasthan Cultural Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bestgoldentriangletour.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.bestgoldentriangletour.com/travel-packages.htm" title="Packages">Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Rajasthan Cultural Tour</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-->				
									<div class="fo dt w100"> 
					<div class="dtc vat ttw-detail pr20px pr">					
												<ul class="lsn gallery-slide" id="bxlider_ins">
																	<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50046.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50046.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50046.jpg"  alt="Rajasthan Cultural Tour" title="Rajasthan Cultural Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50044.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50044.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50044.jpg"  alt="Ajmer Sharif Dargah" title="Ajmer Sharif Dargah" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50045.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50045.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50045.jpg"  alt="Rajasthan Cultural Tour" title="Rajasthan Cultural Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50047.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50047.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50047.jpg"  alt="Rajasthan Cultural Tour" title="Rajasthan Cultural Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50048.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50048.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50048.jpg"  alt="Rajasthan Cultural Tour" title="Rajasthan Cultural Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																				<li>
										<div class="imgFrame m0a dib bdr">
										<div class="imgFrame picBg dtc ac vam lh0">	<a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50049.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50049.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50049.jpg"  alt="Rajasthan Cultural Tour" title="Rajasthan Cultural Tour" class="imga"  />									</div></a>
										</div>
										</div>
										</li>
																	</ul>
							
							<ul class="lsn" id="bxslider-pager"><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50046.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50044.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50045.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50047.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50048.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/50049.jpg"></a></li></ul>					
					<script>
					var $j = jQuery.noConflict();
					var realSlider= $j("ul#bxlider_ins").bxSlider({
					      speed:500,
					      pager:false,
					      auto: true,
					      slideWidth: 450,
					      slideMargin: 0,
					      nextText:'',
					      prevText:'',
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					        changeRealThumb(realThumbSlider,newIndex);
					        
					      }
					      
					    });
					    
					    var realThumbSlider=$j("ul#bxslider-pager").bxSlider({
					      minSlides: 4,
					      maxSlides: 4,
					      slideWidth: 200,
					      slideMargin: 5,
					      moveSlides: 1,
					      pager:false,
					      speed:1000,
					      infiniteLoop:true,
					      hideControlOnEnd:true,
					      nextText:'<span></span>',
					      prevText:'<span></span>',
					      onSlideBefore:function($slideElement, oldIndex, newIndex){
					
					      }
					    });
					    
					    linkRealSliders(realSlider,realThumbSlider);
					    
					    if($j("#bxslider-pager li").length<5){
					      $j("#bxslider-pager .bx-next").hide();
					    }
					
					// sincronizza sliders realizzazioni
					function linkRealSliders(bigS,thumbS){
					  
					  $j("ul#bxslider-pager").on("click","a",function(event){
					    event.preventDefault();
					    var newIndex=$j(this).parent().attr("data-slideIndex");
					        bigS.goToSlide(newIndex);
					  });
					}
					
					//slider!=$thumbSlider. slider is the realslider
					function changeRealThumb(slider,newIndex){
					  
					  var $thumbS=$j("#bxslider-pager");
					  $thumbS.find('.active').removeClass("active");
					  $thumbS.find('li[data-slideIndex="'+newIndex+'"]').addClass("active");
					  
					  if(slider.getSlideCount()-newIndex>=4)slider.goToSlide(newIndex);
					  else slider.goToSlide(slider.getSlideCount()-4);
					
					}
					
					</script>
					</div>
			        <div class="dtc">
			        <p class="b xlarge mb10px">Rajasthan Cultural Tour</p>
					
											<p class="mb5px"><b>Tour Code :</b> RCT/16D</p>
												<p class="mb5px"><b>Duration :</b> 
						15 Nights / 16 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> New Delhi, Bikaner, Jaipur, Jaisalmer, Jodhpur, Mandawa, Udaipur, Agra</p>
												<p class="mb5px"><b>Attractions :</b> Agra Fort, Taj Mahal, Lalgarh Palace, Hawa Mahal, Jain Temples, Mehrangarh Fort, Jaswant Thada, City Palace Museum, Buland Darwaza, Fatehpur Sikri, Amber Fort, City Palace</p>
												<div class="fo mt20px mb20px xxlarge">
						<p class="xxlarge b dif mb2px">Price</p>
						<p class="xxsmall">On Request</p>
						</div>
												<div class="mt12px mb7px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Cultural Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px ts0 xxlarge dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="25517"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">When it comes to culturally rich heritage then Rajasthan is said to be one such place that is still retaining its old culture. Tourists get attracted with so many wonders that are here.Rajasthan Cultural tour gives you a complete insight into the culture of Rajasthan, its customs and traditions, its typical cuisine and all the unique elements and cultural highlights of this land of Rajputs.</p>
						</div>
														<div class="mt30px b xlarge">
												   					Detailed Tour Itinerary
				   													</div>		   
								<br/>
																			<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 1											
											:</b> Arrival at Delhi										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												You will be received at Indira Gandhi International Airport in Delhi and transferred to your hotel, where you will receive a warm traditional welcome complete with garlands and a welcome drink. There will be a typical Indian cuisine at dinner and overnight stay at the hotel.																											   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 2											
											:</b> Delhi - Mandawa ( 242 kms/ 06 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast in the morning, you will drive to Mandawa. It is famous for its arts and crafts. You will stay in a hotel after arriving in Mandawa. Make your meal and go for the ride of Mandawa. The tourist attractions include the strength of the city and havelis which are known for its frescoes depicting various themes of Indian mythology. Most of these havelis are related to the myths of Lord Rama and Krishna. You will come back to the hotel. Dinner and overnight at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 3											
											:</b> Mandawa - Bikaner (164 kms/ 04 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After taking breakfast, we drive to Bikaner. Along the way, you get to see the culture and lifestyle of the people essential. This culture is unique to this region of the Desert. After arriving in Bikaner, which is recorded in a hotel. After lunch, you will embark on a tour of Bikaner. The main attraction of the fortress city of Junagarh. This is tremendous win for today. Lalgarh palace is adorned with beautiful latticework and filigree craft. After sightseeing, return to hotel. Dinner and retire for the day.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 4											
											:</b> Bikaner										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After taking your breakfast, you will visit various attractions of the city. You could visit the temple dedicated to Goddess Deshnok Karni Mata. The rats are considered sacred here. The devotees of the goddess here forever live as rats. There is a white rat to see it, is considered very auspicious. Later, visit the camel breeding and Research Farm. It is the only of its kind in Asia.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 5											
											:</b>  Bikaner - Jaisalmer ( 333 kms/ 08 Hrs 30 min.)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After taking breakfast, we drive to Jaisalmer. After arriving there, they check into a hotel. The rest of the day free for leisure.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 6											
											:</b> Jaisalmer										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast in the morning, to see the sights of the city. It is a wonderful destination on the itinerary of cultural tours of Rajasthan. You will visit the fortress of Jaisalmer golden color that blends with the backdrop of golden sands. Since then, several fantastic visit havelis known for its splendid architecture and painting. Later, it will be a fantastic camel ride the sand dunes of Sam. Dinner and overnight at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 7											
											:</b> Jaisalmer - Jodhpur ( 300 km/ 08 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After taking your breakfast, you will embark for Jodhpur. It's great destination Rajasthan Cultural Tour. After reaching Jodhpur, which is recorded in a hotel. Later embark on a tour of the city of Jodhpur. The main attractions to be visited are the Mehrangarh Fort, Jaswant Thada or royal cenotaphs with intricate latticework Umaid Bhavan Palace and Rai ka Bag Palace. Dinner and overnight would be in the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 8											
											:</b>  Jodhpur - Kumbhalgarh ( 220 kms/ 05 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After having breakfast, we drive to Kumbhalgarh. Arriving there, he checks into a hotel. Later, visit the formidable fortress of Kumbhalgarh. It was an impregnable fortress was breached only once by a Mughal invasion by the combined forces of Delhi, Marwar and Amber. It also explores the various palaces, forts, gardens and temples. It is also famous for Haldighati where was fought the famous battle between Rana Pratap and Akbar. Dinner and overnight at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 9											
											:</b> Kumbhalgarh - Udaipur ( 64 kms/ 01 hrs 30 min.)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												On 9th day of Rajasthan cultural tour, we drive to Udaipur. It is considered the most romantic city in India. You will visit the Jain temples of Ranakpur on the way. These temples are famous for their 1444 marble columns adorned with fantastic sculptures. Upon arrival at Udaipur, which is recorded in a hotel. You will see various attractions of the city and back to the hotel. Have your dinner and retire for the night.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 10											
											:</b> Udaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After breakfast, which will go on sightseeing tour of Udaipur. The main attractions to be visited are the City Palace Museum with a wonderful palace and Maharana Pratap Memorial. Enjoy boating on the lake or Jag Niwas Palace. During the latter part of the day, you can explore the attractions of the city on your own. Shopping in local markets and enjoy boating on the lake. Dinner and overnight at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 11											
											:</b> Udaipur - Kota ( 270 kms/ 08 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												In the morning, proceed to Kota. It is known for its lush vegetation and many industries. Along the way, you can visit Chittaurgarh Fort. It is the oldest fort in India has witnessed many sieges and attacks. After arriving in Kota, which is recorded in a hotel for the night.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 12											
											:</b> Kota - Bundi - Ranthambhore (180 kms/ 03 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												In the morning you will depart for Ranthambore. This is another interesting place in the itinerary of Rajasthan cultural tours. Along the way, will visit Bundi and their various palaces, forts, baolis (step wells) and water tanks. The monuments reflect the luxurious lifestyle of the Rajput chieftains. You will make the various Bundi palace walls painted with frescoes praising the deeds of their rulers. Upon arrival at Ranthambore, which is recorded in a hotel for the night.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 13											
											:</b> Ranthambhore - Jaipur ( 145 km,s/ 02 hrs 30 min.)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												In the morning, to be set for an exciting day jeep safari in Wildlife Sanctuary Ranthambore. This park is spread across 400 square kilometers. This place is famous for tigers. You can also visit the 10th century to the inner sanctum. Lovers of nature that I love this place. Then we drive to Jaipur in the afternoon. Upon arrival at Jaipur, which is recorded in a hotel for the night.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 14											
											:</b> Jaipur										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												In the morning we visit the Amber Fort. It would be exciting experience of riding on an elephant's visit to the Amber Hill. The stronger the example of Rajput architecture, built in white marble and red stone. Later, visit the many other attractions like City Palace, Hawa Mahal, Jantar Mantar, Nahargarh Palace, etc. Return to your hotel. Dinner and overnight at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 15											
											:</b> Jaipur - Agra ( 250 kms/ 05 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												In the morning, you will leave for Agra. Is home to the Taj Mahal. Along the way, you can visit Fatehpur Sikri. It is the abandoned capital of Mughal Emperor Akbar. Explore the magnificent Buland Darwaza, Panch Mahal and Panch Mahal. The city was abandoned for various reasons, in just two years. Upon arrival at Agra, which is recorded in a hotel. Overnight at the hotel.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																						<div class="product-desc headVr bdr0 mb12px"> 
											<div class="sub-title p15px"><a href="javascript:void(0)" class="clickable db"><b class="dif mr2px">
																							Day 16											
											:</b> Agra - Delhi ( 225 kms/ 05 hrs)										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												It is the last day cultural tour of Rajasthan. You will visit the major attractions of Agra. Enjoy the incomparable beauty of the Taj Mahal. Could also say that Taj is the perfect building among the Seven Wonders of the World. It was built by Mughal Emperor Shah Jahan in memory of his love for his wife, Mumtaz Mahal. Then visit the Agra Fort built in red stone. Since then, explore the tomb of Itmad-ud-Daullah that was built by Empress Noor Jahan in memory of his father. Will leave for Delhi in the afternoon. Arriving in Delhi, will be transferred to international airport to board a flight for your trip.															   
												<div class="mt10px">
												
																	
													<p>Meals : Breakfast</p> 
																									</div>	
															
														   
											</div> 
											</div>
																			<script>
								jQuery(document).ready(function() {
									//jQuery('.product-detail').css('display','none');
								    jQuery(".sub-title").click(function() {
								        var $this = jQuery(this);
										  jQuery('.w-title').addClass('h15px',400);
								          $this.find('.w-title').removeClass('h15px',400);
										  jQuery('.product-detail').slideUp();
								          $this.next().slideDown();
								          if($this.find('i').hasClass('fa-angle-up')){
								          	$this.find('i').removeClass('fa-angle-up').addClass('fa-angle-down');
								          } else {
								          	$this.find('i').removeClass('fa-angle-down').addClass('fa-angle-up');
								          }
								        });
									});
								</script>
																<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Payments Terms</p>
								</div>
								
								<ul><li>* Some Advance Percentage of total booking amount * Airfare/Transport fare to be paid full at one time in advance.</li></ul>						
								</div>
														<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Cancellation &amp; Refund Policy</p>
						</div>
						
						<ul><li>* Upon cancellation, refund will be made after deducting the Retention Amount. * Retention Amount varies as per the number of days left before your package start date.</li></ul>						
						</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Rajasthan Cultural 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="25517"/>
						</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.bestgoldentriangletour.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(19)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-agra.htm" title="Packages in Agra">Agra</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-jaipur.htm" title="Packages in Jaipur">Jaipur</a> <b class="alpha50 bn small">(13)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-jaisalmer.htm" title="Packages in Jaisalmer">Jaisalmer</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-bikaner.htm" title="Packages in Bikaner">Bikaner</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-jodhpur.htm" title="Packages in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-pushkar.htm" title="Packages in Pushkar">Pushkar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-mandawa.htm" title="Packages in Mandawa">Mandawa</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-mumbai.htm" title="Packages in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bestgoldentriangletour.com/packages-in-ajmer.htm" title="Packages in Ajmer">Ajmer</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.bestgoldentriangletour.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/camel-safari-holidays-catid.htm" title="Camel Safari Packages">Camel Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/elephant-safari-holidays-catid.htm" title="Elephant Safari Packages">Elephant Safari</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bestgoldentriangletour.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(1)</b></span>
						
				</div>
				</div>
				</div>
				</div>
				
				
				</div>
				</div>
				
										<br />
						<div class="row1"> 
						<div class="col-1"> 
						<div class="mt30px">
						<p class="xxlarge b pb10px bdrB db"> Similar Tour Packages for New Delhi, Bikaner, Jaipur, Jaisalmer, Jodhpur, Mandawa, Udaipur, Agra</p>
						</div>
						<br/>
						<div class="cf_3img">
						<ul class="lsn m0px p0px fo idv_eqheight cols_similar">
											
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bestgoldentriangletour.com/tour-packages/golden-triangle-train-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/47360.jpg"  alt="Golden Triangle Train Tour" title="Golden Triangle Train Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bestgoldentriangletour.com/tour-packages/golden-triangle-train-tour1.htm" title="Golden Triangle Train Tour"><h3>Golden Triangle Train Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Agra</p>
															<div class="mt10px small">
							<form name="pkg_24377" id="pkg_24377" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bestgoldentriangletour.com/tour-packages/golden-triangle-train-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Golden Triangle Train Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="24377"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bestgoldentriangletour.com/tour-packages/same-day-taj-mahal-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/41750.jpg"  alt="Same Day Taj Mahal Tour" title="Same Day Taj Mahal Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bestgoldentriangletour.com/tour-packages/same-day-taj-mahal-tour1.htm" title="Same Day Taj Mahal Tour"><h3>Same Day Taj Mahal Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">USD 80</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Agra</p>
															<div class="mt10px small">
							<form name="pkg_22279" id="pkg_22279" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bestgoldentriangletour.com/tour-packages/same-day-taj-mahal-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Same Day Taj Mahal Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="22279"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bestgoldentriangletour.com/tour-packages/6-days-golden-triangle-tour-india1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/51586.jpg"  alt="6 Days Golden Triangle Tour India" title="6 Days Golden Triangle Tour India"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bestgoldentriangletour.com/tour-packages/6-days-golden-triangle-tour-india1.htm" title="6 Days Golden Triangle Tour India"><h3>6 Days Golden Triangle Tour India</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								5 Nights / 6 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Agra</p>
															<div class="mt10px small">
							<form name="pkg_26443" id="pkg_26443" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bestgoldentriangletour.com/tour-packages/6-days-golden-triangle-tour-india1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="6 Days Golden Triangle Tour India - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="26443"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bestgoldentriangletour.com/tour-packages/golden-triangle-with-udaipur1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/47891.jpg"  alt="Golden Triangle with Udaipur" title="Golden Triangle with Udaipur"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bestgoldentriangletour.com/tour-packages/golden-triangle-with-udaipur1.htm" title="Golden Triangle with Udaipur"><h3>Golden Triangle With Udaipur</h3></a></div>
							<div class="bdrT p12px">
															<div class="b large dif pt5px pb5px">Price On Request</div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								7 Nights / 8 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur, Udaipur, Agra, Mumbai</p>
															<div class="mt10px small">
							<form name="pkg_24582" id="pkg_24582" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bestgoldentriangletour.com/tour-packages/golden-triangle-with-udaipur1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Golden Triangle with Udaipur - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="24582"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bestgoldentriangletour.com/tour-packages/same-day-jaipur-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/40983.jpg"  alt="Same Day Jaipur Tour" title="Same Day Jaipur Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bestgoldentriangletour.com/tour-packages/same-day-jaipur-tour1.htm" title="Same Day Jaipur Tour"><h3>Same Day Jaipur Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">USD 90</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Jaipur</p>
															<div class="mt10px small">
							<form name="pkg_22181" id="pkg_22181" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bestgoldentriangletour.com/tour-packages/same-day-jaipur-tour1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Same Day Jaipur Tour - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="22181"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bestgoldentriangletour.com/tour-packages/same-day-agra-tourby-car1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_8/236361/45984.jpg"  alt="Same Day Agra Tour By Car" title="Same Day Agra Tour By Car"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bestgoldentriangletour.com/tour-packages/same-day-agra-tourby-car1.htm" title="Same Day Agra Tour By Car"><h3>Same Day Agra Tour By Car</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">USD 80</b> <b class="xsmall alpha50"></b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								1 Day 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  New Delhi, Agra</p>
															<div class="mt10px small">
							<form name="pkg_23677" id="pkg_23677" method="post" action="http://www.bestgoldentriangletour.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bestgoldentriangletour.com/tour-packages/same-day-agra-tourby-car1.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Same Day Agra Tour By Car - Tour Package"/>
							<input type="hidden" name="allocate_type" value="tour"/>
							<button type="submit" class="theme2 p5px10px ts0 b dib c5px bdr0 lh15em">Book Your Tour</button>
							<input type="hidden" name="pkg_slno" value="23677"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
															
						</ul>
						</div>
						</div> 		  
						<br>
						</div>  
						<br />
										
				</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:64:"Book Rajasthan Cultural Tour - 15 Nights / 16 Days Tour Packages";i:2;s:183:"book rajasthan cultural tour - 15 nights / 16 days tour packages, forts and palaces tour packages, new delhi, bikaner, jaipur, jaisalmer, jodhpur, mandawa, udaipur, agra tour packages";i:3;s:225:"Best Golden Triangle Tour offers Rajasthan Cultural Tour - 15 Nights / 16 Days tour package, budget Forts and Palaces tour packages for New Delhi, Bikaner, Jaipur, Jaisalmer, Jodhpur, Mandawa, Udaipur, Agra at exciting price.";i:4;s:858:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "New Delhi, Bikaner, Jaipur, Jaisalmer, Jodhpur, Mandawa, Udaipur, Agra"        
		                 },
		      "description": "When it comes to culturally rich heritage then Rajasthan is said to be one such place that is still retaining its old culture. Tourists get attracted with so many wonders that are here.Rajasthan Cultural tour gives you a complete insight into the culture of Rajasthan, its customs and traditions, its typical cuisine and all the unique elements and cultural highlights of this land of Rajputs.",
		      "name": "Rajasthan Cultural Tour",
		      "telephone": "+91-9927200567"
		    }
		    </script>
			";i:5;N;}