a:6:{i:0;s:38435:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>Romantic Europe Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.azuretouradvisor.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.azuretouradvisor.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> Romantic Europe 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-->				
								
						<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>Tour Code :</b> AZ/ROMANTICEUROPE/14</p>
												<p class="mb5px"><b>Duration :</b> 
						14 Nights / 15 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Paris, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne, Vatican City</p>
												<p class="mb5px"><b>Price (Starting From) :</b> 
						INR 248650 Per Person						</p>
												<br />
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.azuretouradvisor.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Romantic Europe Tour - Tour Package"/>
						<input type="hidden" name="allocate_type" value="tour"/>
						<a href="#" onclick="document.getElementById('frmpackagedetail').submit();" class="buttonBig p10px20px c5px b large dib">Book Your Tour</a>
						<input type="hidden" name="pkg_slno" value="30381"/>
						</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_11/313024/62096.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_11/313024/62096.jpg"  width="150" height="150"    alt="Romantic Europe Tour" title="Romantic Europe Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
											<div class="mt7px dif">* Mentioned prices may vary depending upon date of travel, hotel availability, surge pricing and seasonal rush.</div><br />
														<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Tour Detail</p>
								</div>
													
								American Buffet Breakfast (Hot Breakfast)<br />
Free International SIM card with incoming free facility<br />
Zero Carry Money Tours<br />
Multi-lingual experienced caring Indian tour managers<br />
Veg, Jain meal options available<br />
Daily Indian-snacks packets<br />
<br />
Covers 26 major European cities of 10 countries<br />
Visit to Mini Europe or Keukenhof (largest flower garden in Europe)<br />
London City Tour with London Eye flight experience<br />
Visit to Cuckoo Clock Factory, Druba in Germany<br />
Rome city tour with visit to the legendary Trevi Fountain<br />
<br />
OPTIONAL TOURS :-<br />
Gondola Ride In Venice :- Euro 25 Per person<br />
Lido Show in Paris :- Euro 85 Per PersonCost of any individual Airport / Seaport / Railway station transfer to joining and leaving guests.<br />
Any Increase in the Airfare / Rail fare / Cruise Charges.<br />
Any Increase in the fuel surcharge or any kind of taxes levied by the respective government or statutory bodies.<br />
Any Increase in the rate of exchange leading to an increase in all land arrangements which may come in to effect prior to departure.<br />
Cost of extension of the validity of the tour or deviation from the route of the tour<br />
Porterage, laundry, wines & alcoholic beverages, mineral water (unless specified), telephone charges, shopping, all items of personal nature and also food and drinks not forming the part of the group menus.<br />
Cost of Insurance for any extra stay pre/post tour.<br />
Any extra expenses incurred for changing the route due to any unforeseen circumstances, natural calamities, political disturbances, strikes etc. <br />
Extra cost incurred due to illness, accident, hospitalization or any Individual unforeseen cost incurring incidence. <br />
Any private transfers taken to move from one place to another instead of coach for any activity/sightseeing done twice<br />
Any add-on sightseeing/activities along with transfers if done other than mentioned in the tour program. <br />
Fur coats/Jackets to visit snow point or any special attire required to visit any particular sightseeing place. <br />
Any up-gradation in the room category or air line class <br />
Extra water bottle charges other than specified in the itinerary<br />
Premium seat charges<br />
Medicines required if any<br />
Service or Government taxes as applicable from time to time<br />
Anything not specifically mentioned in Your Inclusion Column								</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> Rome
										</p>
										<p class="aj">On arrival Rome , you will be meeting our representative at the airport who will assist you to board the coach and proceed for hotel check in as per the standard check In time of the hotel. Rest day relax and recover from Jet lag (Dinner)overnight stay in Rome.</p>					
											<p><b>Meals : </b> Dinner</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> Rome city tour , Vatican City, Arrival Pisa
										</p>
										<p class="aj">After having breakfast at the hotel we then proceed to Rome city tour which includes at Arch of Constantine, Circus Maximus, the legendary Trevi Fountain and photostop at the Colosseum. Later Proceed to Vatican City-the smallest nation in the world! This includes Vatican Museum, one of the largest museum complexes in the world, the sistine Chapel and St. Peter's Square with St. Peter's Basilica - one of the largest churches in the world. witness the enchanting city of Pisa to witness photostop at the wonder of the world-the Leaning Tower! We also have photostops at the other famous sites located on the same Field of Miracles. Overnight stay in Pisa.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Birds Eye View from Pizzale Michaelangelo Point, Arrival in Venice
										</p>
										<p class="aj">Today after having breakfast at the hotel head towards Florence and have photostops at Piazzale Michelangelo Point and Statue of David. Later proceed to Venice for city tour via canal cruise Tronchetto Pier past incredible miniature canals to the Piazza San Marco. Today also includes a tour with a brief visit to a Murano Glass Showroom for a demonstration in glass blowing. Also enjoy a romantic optional Gondola ride. overnight stay in Padova/Venice.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Innsbruck city tour, Swarovski Crystal Worlds
										</p>
										<p class="aj">After having breakfast at the hotel proceed to Wattens to visit internationally renowned Swarovski Crystal Worlds where we get to see the world's biggest crystal and it's smallest! Later proceed for an orientation tour of the city which includes Golden Roof or 'Goldenes Dachl'the Imperial Church and the 'Hofburg' or Imperial Palace. Overnight in Innsbruck</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Visits Rhine Falls & Arrive in Switzerland
										</p>
										<p class="aj">Today after having breakfast at the hotel, we drive through Vaduz, the capital of the principality of Liechtenstein. Enjoy the sights and surroundings of Vaduz. Enroute visit Rhine Falls, photostop at Zurich lake and arrival in Lucerne.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Mount Titlis with Ice Flyer (subject to operation), Lucerne city tour, Lake Lucerne cruise
										</p>
										<p class="aj">Today we will be visiting Mt.Titlis to experience 'Titlis Rotair'-world's first revolving cable-car ride! Here we also experience the thrilling Ice Flyer ride and snow slides (subject to operation).Today we also get to enjoy Lucerne city tour which includes Lion Monument, Kappelbrucke Wooden Bridge. Here we also have leisure time for shopping and enjoying the local scenic beauty. Not to forget the relaxing Lake Lucerne cruise which is also part of our day in Switzerland today. Overnight at hotel.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Black Forest drive, Cuckoo Clock factory, Lake Titisee
										</p>
										<p class="aj">Today after having breakfast at the hotel activities include drive through Black Forest, Black Forest is a wooden Mountain range in south western Germany .its Bordered by Rhine Valley to the west and South. The Black Forest consists of a cover of sandstone and top of a core of gneiss and granites . visit to Lake titisee famous for shopping Cuckoo Clocks . Lake Titisee is located in the southern Black Forest . Lake Titisee is perfect for swimming, sailing, windsurfing, pedaloing and for a stroll along the water front . overnight stay in Switzerland</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Arrival Paris
										</p>
										<p class="aj">After having breakfast at the hotel proceed for a scenic and nature filled drive to one of the most lively city of Europe "Paris. Enjoy the most attractive and famous Lido Show in the evening which is optional.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Paris City Tour, Eiffel tower 3rd Level
										</p>
										<p class="aj">After having the breakfast at the hotel proceed with Paris city tour. This will includes the Louvre Glass Pyramid, Garnier's Opera, Place de la Concorde, Champs Elysees, Napoleanic Arc de Triomphe and Hotel des Invalides. Take in the dazzling overview of the city as you ascend by an elevator to the 3rd level of the iconic Eiffel Tower. Enjoy Siene River Cruise in the evening. Overnight stay at hotel.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Paris - Disneyland - Paris
										</p>
										<p class="aj">After having breakfast at the hotel proceed to experience the excitement at Disneyland. Disneyland Paris, commonly known as Euro Disney. There are also parades and shows. And when the kids have had their fun, the grown-ups can indulge themselves with the designer outlet shopping in nearby Marne la Vallée. Enjoy various rides and shows like It's a Small World and Space mountain. Meet your favorite cartoon characters like Mickey, Minnie, Pooh and Donald. Overnight stay in Paris.</p>					
											<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Brussels City Tour, Mini Europe (If not Kekenholf in Amsterdam)
											</p>
											<p class="aj">After having breakfast at the hotel proceed to Brussels and Since Keukenhof is closed after 20th May, for any departures post that, we will instead be visiting Mini Europe, wherein you explore and discover the Europe's Nicest Places like Atomium, Tower Bridge, Leaning Tower and many more iconic miniatures. Later on proceed for Brussels city tour which will include St.Michel,St. Gudula Cathedral, the world's first shopping mall-Galeries Saint Hubert, Grand Place and the famous statue of the cheeky boy-the Mannekin Pis (photostop). Arrive Amsterdam in the evening.</p>					
												<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Amsterdam city tour, Canal Cruise, Keukenhof (till 20th May) Stay in Amsterdam
											</p>
											<p class="aj">After having breakfast at the hotel proceed to Amsterdam and on arrival do the city tour of Amsterdam where we drive past the Royal Palace, the National Monument, Skinny Bridge, the Albert Cuyp Market and the beautiful houses along the canal and a windmill on the river Amstel. Today we also get to experience Amsterdam Canal cruise in luxurious cruise boat which takes us along beautiful canals and houses of the city, pass by the Zevenbogenbruggengracht. Today also includes visit to Keukenhof - the world's largest flower garden (open till 20th May only).</p>					
												<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Eurotunnel across Channel Tunnel, Arrival in London and London City Tour
											</p>
											<p class="aj">After having breakfast at the hotel day begins with Euro tunnel transfer to London. On arrival in London city enjoy city tour of London. Begin day with Guided London City tour which<br />
includes Tower Bridge,River Thames, Hyde Park, Big Ben, Westminster Abbey, St.Paul's Cathedral, Piccadilly Circus, Nelson's Column at Trafalgar Square, visits Swami Narayan Temple Oxford Street, Tower of London.</p>					
												<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> London Eye Flight Experience and Madame Tussauds
											</p>
											<p class="aj">After having breakfast at the hotel we will be taking a 30-min ride on famous Ride on London Eye-world's tallest Ferris wheel. Later visit Madam Tussauds wax museum to photograph yourself with famous personalities. Overnight stay at hotel.</p>					
												<p><b>Meals : </b> Breakfast-Lunch-Dinner</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> Departure from London
											</p>
											<p class="aj">After having Breakfast at the hotel, proceed to airport for flight back to home town with loaded sweet and wonderful memories.</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 />
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Transfers</li>
																						<li>Sim Card</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>Cost of any individual Airport / Seaport / Railway station transfer to joining and leaving guests.</li><li>
Any Increase in the Airfare / Rail fare / Cruise Charges.</li><li>
Any Increase in the fuel surcharge or any kind of taxes levied by the respective government or statutory bodies.</li><li>
Any Increase in the rate of exchange leading to an increase in all land arrangements which may come in to effect prior to departure.</li><li>
Cost of extension of the validity of the tour or deviation from the route of the tour</li><li>
Porterage, laundry, wines & alcoholic beverages, mineral water (unless specified), telephone charges, shopping, all items of personal nature and also food and drinks not forming the part of the group menus.</li><li>
Cost of Insurance for any extra stay pre/post tour.</li><li>
Any extra expenses incurred for changing the route due to any unforeseen circumstances, natural calamities, political disturbances, strikes etc. </li><li>
Extra cost incurred due to illness, accident, hospitalization or any Individual unforeseen cost incurring incidence. </li><li>
Any private transfers taken to move from one place to another instead of coach for any activity/sightseeing done twice</li><li>
Any add-on sightseeing/activities along with transfers if done other than mentioned in the tour program. </li><li>
Fur coats/Jackets to visit snow point or any special attire required to visit any particular sightseeing place. </li><li>
Any up-gradation in the room category or air line class </li><li>
Extra water bottle charges other than specified in the itinerary</li><li>
Premium seat charges</li><li>
Medicines required if any</li><li>
Service or Government taxes as applicable from time to time</li><li>
Anything not specifically mentioned in Your Inclusion Column</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 * 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">Price &amp; Rates</p>
						</div>				
				        <table class="mb15px bdrall bdreee w100 p5px15px formTable">
			            	<tr class="headVr b">
			                	<td class="p5px10px">No of pax</td>
			                    <td class="p5px10px">Age Limit</td>
			                    <td class="p5px10px">Price per pax (Rs)</td>
			                </tr>

															<tr>
				            	<td class="p5px10px">Adult</td>
				                <td class="p5px10px">Above 12 years</td>
				                <td class="p5px10px">
			                				                		<b class="webrupee">INR</b>
			                					                	<b>248650</b> <small>/
			
			                		Adult			
			                				
			                		
			                	</small></td>
				            	</tr>
				            					         </table>
						</div>
					 					
						<div class="data mt20px p15px">            
						<div class="mb7px"> 
						<p class="b xlarge mb10px dib">Accommodation</p>
						</div>				
		
				    	<table class="mb15px bdrall bdreee w100 p5px15px formTable">
						<tr class="headVr b">
						<td class="p5px10px">City</td>
						<td class="p5px10px">Hotel Name</td>
						<td class="p5px10px">Star Rating</td>
						</tr>
												</tbody>
						</table>
						</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.azuretouradvisor.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Romantic Europe 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="30381"/>
						</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.azuretouradvisor.com/packages-in-pisa.htm" title="Packages in Pisa">Pisa</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-innsbruck.htm" title="Packages in Innsbruck">Innsbruck</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-bangkok.htm" title="Packages in Bangkok">Bangkok</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-lucerne.htm" title="Packages in Lucerne">Lucerne</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/packages-in-venice.htm" title="Packages in Venice">Venice</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-chandigarh-city.htm" title="Packages in Chandigarh City">Chandigarh City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-alleppey.htm" title="Packages in Alleppey">Alleppey</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-goa-city.htm" title="Packages in Goa City">Goa City</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-thekkady.htm" title="Packages in Thekkady">Thekkady</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-florence.htm" title="Packages in Florence">Florence</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-tashkent-travel.htm" title="Packages in Tashkent">Tashkent</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-pattaya.htm" title="Packages in Pattaya">Pattaya</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-munnar.htm" title="Packages in Munnar">Munnar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-singapore-city.htm" title="Packages in Singapore">Singapore</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.azuretouradvisor.com/packages-in-kumarakom.htm" title="Packages in Kumarakom">Kumarakom</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.azuretouradvisor.com/packages-in-madrid.htm" title="Packages in Madrid">Madrid</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.azuretouradvisor.com/packages-in-kandy.htm" title="Packages in Kandy">Kandy</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.azuretouradvisor.com/packages-in-gangtok.htm" title="Packages in Gangtok">Gangtok</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.azuretouradvisor.com/packages-in-padova.htm" title="Packages in Padova">Padova</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.azuretouradvisor.com/packages-in-port-blair.htm" title="Packages in Port Blair">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.azuretouradvisor.com/packages-in-kodagu.htm" title="Packages in Kodagu">Kodagu</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.azuretouradvisor.com/packages-in-udaipur.htm" title="Packages in Udaipur">Udaipur</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.azuretouradvisor.com/packages-in-dubai.htm" title="Packages in Dubai">Dubai</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.azuretouradvisor.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/paragliding-holidays-catid.htm" title="Paragliding Packages">Paragliding</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/beach-islands-holidays-catid.htm" title="Beach and Islands Packages">Beach and Islands</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/forts-palaces-holidays-catid.htm" title="Forts and Palaces Packages">Forts and Palaces</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.azuretouradvisor.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</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 London, Paris, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne</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.azuretouradvisor.com/tour-packages/european-masti-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/313024/62580.jpg"  alt="European Masti Tour" title="European Masti Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azuretouradvisor.com/tour-packages/european-masti-tour.htm" title="European Masti Tour"><h3>European Masti Tour</h3></a></div>
							<div class="bdrT p12px">
															<div class="xlarge dif pt5px pb5px"><b class="webrupee lh1em">INR 200000</b> <b class="xsmall alpha50">Per Person</b></div>
																<p class="mt7px"><b class="alpha50">Duration</b> : 
								11 Nights / 12 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Venice, Florence, Brussels, Amste..</p>
															<div class="mt10px small">
							<form name="pkg_30628" id="pkg_30628" method="post" action="http://www.azuretouradvisor.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azuretouradvisor.com/tour-packages/european-masti-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Masti 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="30628"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.azuretouradvisor.com/tour-packages/bestof-europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_11/313024/61711.jpg"  alt="Best Of Europe" title="Best Of Europe"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.azuretouradvisor.com/tour-packages/bestof-europe-tour.htm" title="Best Of Europe Tour"><h3>Best Of Europe 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> : 
								21 Nights / 22 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Barcelona, London, Paris, Nice, Venice, ..</p>
															<div class="mt10px small">
							<form name="pkg_30232" id="pkg_30232" method="post" action="http://www.azuretouradvisor.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.azuretouradvisor.com/tour-packages/bestof-europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Best Of Europe 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="30232"/>
							</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:61:"Book Romantic Europe Tour - 14 Nights / 15 Days Tour Packages";i:2;s:190:"book romantic europe tour - 14 nights / 15 days tour packages, forts and palaces tour packages, london, paris, brussels, amsterdam, innsbruck, rome, pisa, lucerne, vatican city tour packages";i:3;s:225:"Azure Tour Advisor offers Romantic Europe Tour - 14 Nights / 15 Days tour package, budget Forts and Palaces tour packages for London, Paris, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne, Vatican City at exciting price.";i:4;s:2757:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Brussels, Amsterdam, Innsbruck, Rome, Pisa, Lucerne, Vatican City"        
		                 },
		      "description": "American Buffet Breakfast (Hot Breakfast)
Free International SIM card with incoming free facility
Zero Carry Money Tours
Multi-lingual experienced caring Indian tour managers
Veg, Jain meal options available
Daily Indian-snacks packets

Covers 26 major European cities of 10 countries
Visit to Mini Europe or Keukenhof (largest flower garden in Europe)
London City Tour with London Eye flight experience
Visit to Cuckoo Clock Factory, Druba in Germany
Rome city tour with visit to the legendary Trevi Fountain

OPTIONAL TOURS :-
Gondola Ride In Venice :- Euro 25 Per person
Lido Show in Paris :- Euro 85 Per PersonCost of any individual Airport / Seaport / Railway station transfer to joining and leaving guests.
Any Increase in the Airfare / Rail fare / Cruise Charges.
Any Increase in the fuel surcharge or any kind of taxes levied by the respective government or statutory bodies.
Any Increase in the rate of exchange leading to an increase in all land arrangements which may come in to effect prior to departure.
Cost of extension of the validity of the tour or deviation from the route of the tour
Porterage, laundry, wines & alcoholic beverages, mineral water (unless specified), telephone charges, shopping, all items of personal nature and also food and drinks not forming the part of the group menus.
Cost of Insurance for any extra stay pre/post tour.
Any extra expenses incurred for changing the route due to any unforeseen circumstances, natural calamities, political disturbances, strikes etc. 
Extra cost incurred due to illness, accident, hospitalization or any Individual unforeseen cost incurring incidence. 
Any private transfers taken to move from one place to another instead of coach for any activity/sightseeing done twice
Any add-on sightseeing/activities along with transfers if done other than mentioned in the tour program. 
Fur coats/Jackets to visit snow point or any special attire required to visit any particular sightseeing place. 
Any up-gradation in the room category or air line class 
Extra water bottle charges other than specified in the itinerary
Premium seat charges
Medicines required if any
Service or Government taxes as applicable from time to time
Anything not specifically mentioned in Your Inclusion Column",
		      "name": "Romantic Europe Tour",
		      "telephone": "+91-7774977511"
		    }
		    </script>
			";i:5;N;}