a:6:{i:0;s:60983:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>European Extravaganza Reverse Tour</h1></div>
						<p class="breadcrumb ar uu small"><a href="http://www.bhramandeshvidesh.com/" title="Home">Home</a>
						
													<b class="ffv p2px">&rsaquo;</b><a href="http://www.bhramandeshvidesh.com/tour-packages.htm" title="Tour Packages">Tour Packages</a>
								
						<b class="ffv p2px">&rsaquo;</b> European Extravaganza Reverse 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_12/350588/106305.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106305.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106305.jpg"  alt="European Extravaganza Reverse Tour" title="European Extravaganza Reverse 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_12/350588/106306.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106306.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106306.jpg"  alt="European Extravaganza Reverse Tour" title="European Extravaganza Reverse 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_12/350588/106307.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106307.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106307.jpg"  alt="European Extravaganza Reverse Tour" title="European Extravaganza Reverse 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_12/350588/106308.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106308.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106308.jpg"  alt="European Extravaganza Reverse Tour" title="European Extravaganza Reverse 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_12/350588/106305.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106306.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106307.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106308.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">European Extravaganza Reverse Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						14 Nights / 15 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Paris, Berlin, Brussels, Amsterdam, Rome, Vaduz, Vienna, Bern</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.bhramandeshvidesh.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Extravaganza Reverse 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="55368"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">A complete all-inclusive tour at an honest price with maximum quality sightseeing and minimum travelling time.<br />
Stay in top quality hotels<br />
All hot delicious unlimited Indian Jain / vegetarian / non-vegetarian meals included.<br />
Enjoy daily buffet breakfast.<br />
A choice of local meals in few different countries.<br />
Stay 02 nights in London with all meals included.<br />
Guided city tour of London with Changing of the guards<br />
Entrance to the Tower of London housing Britain’s crown jewels including the Kohinoor Diamond.<br />
Visit Madame Tussaud’s wax museum.<br />
Ride on the London Eye.<br />
Guided tour of the ‘Mecca of cricket’ - Lord’s cricket ground in London.<br />
A unique experience of travelling under the English Channel aboard the world’s fastest Chunnel train - the Eurostar.<br />
Guided city tour of Paris<br />
Visit the 3rd level of the Eiffel Tower.<br />
A day full of fun at Euro Disney OR Visit the magnificent Versailles Palace and the world famous Louvre Museum.<br />
Romantic Seine cruise in Paris.<br />
Chance to see the extravagant Lido Show.<br />
Orientation tour of Brussels.<br />
Visit the famous Dam Square - the heart of Amsterdam.<br />
See both Keukenhof and Madurodam.<br />
Catch a breathtaking view of Amsterdam city on a canal cruise.<br />
Visit the historical Cologne Cathedral.<br />
Visit Titisee, right in the heart of the Black Forest.<br />
See a cuckoo clockIf you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to<br />
come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to<br />
availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent.<br />
Kindly note, the deviation will be actioned only 30 days prior to departure date.<br />
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United<br />
Kingdom, the additional charge towards UK departure tax will be applicable.<br />
Cost of Basic Travel Quota equivalent to USD 10,000.<br />
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of October 1st 2015 rates).<br />
Taxes as applicable are extra.<br />
The tour cost does not include POE charges and passport charges.<br />
No porterage included.<br />
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.<br />
Tips of any nature i.e. drivers, guides, etc.<br />
Meals other than that what is mentioned in your itinerary.<br />
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in ‘What your tour price includes’.<br />
Cost of Lido Show.07-0428-09</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> Welcome to London, capital of United Kingdom. Be amazed by the breath taking view as you ride the Lo										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Bon voyage! Today you are off on your exciting European tour with Thomas Cook, as you board your flight to London. On arrival, you will be greeted by your friendly Thomas Cook Tour Manager outside the baggage hall. We shall then proceed to your conveniently located hotel and check-in first. Freshen up and relax in the comfort of your hotel room. Later, we take you on the famous London Eye – one of the world’s largest observation wheels. Be enchanted by this new and novel way of seeing the city from a bird’s eye view, as the London Eye takes you on a 30 minute flight, rising to 450 feet above the river Thames as the panorama of some of London’s most famous streets, churches, palaces and monuments are spread out before you. Tonight, enjoy an Indian dinner before you return to your hotel.<br />
Overnight at Hotel Copthorne / Hotel Holiday Inn or similar, in Central London.															
														   
											</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> Enjoy the many sights of London on your guided tour including the Changing of Guards. Entrance to th										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, we leave for a guided city tour with an expert English speaking guide who will explain to you all the highlights of London’s landmarks: the Changing of Guards at Buckingham Palace, Hyde Park, the Big Ben, Westminster Abbey, Houses of Parliament, Trafalgar Square, Piccadilly Circus, Tower Bridge, River Thames and many more. We next visit The Tower of London from inside, an important sight not to be missed. A treasure house of English history, The Tower of London houses the exquisite crown jewels including the Kohinoor diamond and many other British national treasures. This afternoon enjoy a hot lunch at an Indian restaurant. Next visit the famous Madame Tussaud’s wax museum. This museum houses a unique collection of world’s largest wax works of famous personalities, including India’s top leaders and film stars. This evening, Thomas Cook has specially arranged a guided tour of the world famous Lord’s cricket ground, a dream for every cricket lover. After a nostalgic evening at the Lord’s proceed to the restaurant where a delicious Indian dinner awaits you.<br />
Overnight at Hotel Copthorne / Hotel Holiday Inn or similar, in Central London.			
														   
											</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> Get set for the ride of your lifetime aboard the ultra-modern Eurostar, one of the world’s fastest										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a continental buffet breakfast at your hotel, check out and drive to Saint Pancras Station. Here, you will board the ultra-modern Eurostar, one of the world’s fastest trains. Travelling under the English Channel, reach Gare Du Nord in approximately two hours. This afternoon packed Indian lunch will be provided. On arrival into Paris we will take you on an exhilarating city tour with an English speaking local guide, who will show you many of the best-loved Parisian sights - Alexander Bridge, Arc de Triomphe, Concorde Square, Opera House, Invalides, Champs Elysees and many more. We shall then proceed to visit the top of the Eiffel Tower (3rd level), from where you will have a splendid view of this beautiful city. Later in the evening, enjoy hot Indian dinner.<br />
Overnight at Hotel Novotel / Mercure or similar, in Paris.			
														   
											</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> Today, visit the brilliant Versailles Palace. Also, visit the world renowned Louvre Museum famous fo										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at your hotel, we take you on a guided tour of Versailles Palace - set on impressive grounds and steeped in memories of major historic events. Visit the Chateau of Versailles, the most prestigious monuments of the world’s artistic heritage. Vast chambers and private apartments of unimaginable luxury include an opera hall, a chapel, and the famous Hall of Mirrors. After a hot Indian lunch, we take you to visit the world-renowned Louvre Museum to see the incomparable and the most prestigious painting of ‘Mona Lisa’- Leonardo da Vinci’s masterpiece and many more. You also have some free time to shop for perfumes and souvenirs. Later enjoy a romantic Seine cruise as we sail past some of the historical monuments on the river Seine. Tonight, enjoy a delicious Indian dinner before we drive back to the hotel. Tonight, you have a chance to experience the glamour of the world-famous Lido show or relax in the comfort of your hotel.<br />
Overnight at Hotel Novotel / Mercure or similar, in Paris.			
														   
											</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> Proceed to Brussels, the capital of the European Union.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, sit back and relax in your coach as we proceed to Brussels.This afternoon, enjoy hot Indian lunch. Next, proceed to Brussels to visit the world renowned Grand Place and the legendary Mannekin Pis statue. Drive past St. Michael’s Church. A photo stop at the Atomium is also included. Later, check into your hotel. Tonight, enjoy hot delicious Indian dinner arranged in the comfort of your hotel.<br />
Overnight at Holiday Inn/ Hotel Novotel or similar in Eindhoven.			
														   
											</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> Onto Amsterdam - a city full of surprises. Visit Madurodam - Holland in miniature. Also visit Keuk										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, sit back and relax in your coach as we proceed to Keukenh of - the largest spring garden in the world. Bulbs of colourful tulips bloom only till May 16th. Be enchanted by the indoor floral displays. Proceed to amsterdam for Indian lunch. Later board your glass-topped boat for an exciting canal cruise. Later, visit the famous Dam Square - the real heart of Amsterdam, where the Royal Palace, the Nieuwe Kerk and the War Memorial overlooks this vast and bustling open space . Next, visit Madurodam, where you can see most of Holland in miniature, replicated in minute detail on a 1:25 scale. Drive back to your hotel where a hot Indian dinner awaits you.<br />
17th May onwards, after continental buffet breakfast we visit Maduroadm where you can see most of Holland in miniature, replicated in minute detail on a 1:25 scale. Later visit a cheese farm and a wooden shoe factory. See a demonstration of how cheese is made and wooden shoes are carved out of wooden blocks. You also have a chance to savour some cheese. Next, stop at a windmill – the most common sight in Holland for a photograph. Later enjoy Indian lunch. Next board your glass-topped boat for an exciting canal cruise. Later, visit the famous Dam Square - the real heart of Amsterdam, where the Royal Palace, the Nieuwe Kerk and the War Memorial overlooks this vast and bustling open space . Next visit Volendam a picturesque town, with its little wooden houses, the quaint harbor and its people in graceful traditional costumes. Drive back to your hotel where a hot Indian dinner awaits you.<br />
Overnight at Holiday Inn/ Hotel Novotel or similar in Eindhoven.			
														   
											</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> Visit the biggest Gothic Cathedral in Europe – the Cologne Cathedral. Enjoy a romantic cruise on t										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast, check out and proceed to Cologne. On arrival visit the impressive Cologne Cathedral, a fine example of amazing Gothic architecture. This afternoon, Indian lunch will be provided. Later, we proceed to board your scenic cruise on the River Rhine. Cruising down the Rhine, you will pass steep slopes covered with vineyards. The River Rhine is one of Europe’s major navigable rivers. This evening, enjoy a Indian dinner at a restaurant, before you drive to your hotel.<br />
Overnight at the Holiday Inn /Park Inn / NH / Intercity or similar in Rhineland or similar.			
														   
											</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> Enjoy a boat ride at the spectacular Rhine Falls in Schaffhausen. Onto Titisee - heart of the Blac										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at the hotel, check out, sit back and relax in your coach as we arrive at the breathtakingly beautiful lake of Titisee. This is the heart of the Black Forest, surrounded by dark fir forests, fairy tale woods and flowering meadows where we enjoy Indian lunch with an authentic black forest cake . Here is ‘Drubba’, the home of the world-famous cuckoo clock. Get invited for a free demonstration and buy one for your home - a prized possession. Later, cross over into Switzerland and arrive into Schaffhausen. Here, enjoy the beautiful view of the Rhine falls, while enjoying a boat ride at the falls. Today, we have arranged a Thomas Cook Swiss experience for our valued guests. Here, enjoy interesting activities. What’s more... we have arranged a Swiss party with Bollywood music & some traditional Swiss cheese fondue, chocolates and black apple vodka. You will cherish this true Swiss experience for a lifetime.<br />
Tonight enjoy a delicious Indian dinner at a local restaurant.<br />
Overnight at Hotel Swissotel/ Seedamn Plaza/ Kameha Grand/ Dolder Waldhaus Hotel or similar in Central Switzerland/Zurich.			
														   
											</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> Join us on an all inclusive Alpine excursion tour to the wonderful world of Jungfraujoch - the top										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a continental buffet breakfast, check-out and get ready for an adventurous ride<br />
to visit Jungfraujoch - The Top of Europe, for a memorable encounter with snow and ice - a genuine ‘high-point’ of your tour! Sit back in your coach as we proceed to the beautiful town of Grindelwald / Lauterbrunnen, where the excitement continues. You will be amazed at the scenic splendour that you see from aboard the ‘cogwheel’ train, which takes you to a height of 3,454 metres to reach Jungfraujoch! This is a trip to another world - a wonderful world of eternal ice and snow. Experience the magic of the mountains and visit the Ice Palace on top of the longest glacier in the Alps. A visit to the Sphinx is also included. Today, Enjoy Indian lunch with champagne specially arranged for you at Jungfraujoch – one of the many great experiences on your tour! Later, we visit the charming city of Interlaken. Be mesmerized with the scenic beauty of this city which is nestled between two lakes and surrounded by the splendid Bernese Oberland Mountains. Treasure these wonderful moments as you drive back to your hotel. This evening enjoy a delicious Indian dinner specially prepared for you.<br />
Overnight at Hotel Swissotel/ Seedamn Plaza/ Kameha Grand/ Dolder Waldhaus Hotel or similar in Central Switzerland/Zurich.			
														   
											</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> Today, get set for a day full of fun and excitement as we take you to visit Mt. Titlis with its beau										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at your hotel, we take you on one of the most memorable experiences of your<br />
Europe tour - visiting Mt. Titlis and Lucerne. Adventure awaits you in an All New cable-car ride up to Mt. Titlis. Marvel at the world’s first revolving cable-car ride, a truly once-in-a lifetime experience. Remain spellbound as you ascend the snow-clad mountains. Experience the snow and ice on top of Mt. Titlis. Do not forget to visit the new attraction “Cliff Walk.” Later, enjoy a delicious Indian lunch specially prepared for our valued Thomas Cook guests. Next, we proceed to scenic Lucerne, where you will visit the Lion Monument and the Kapell Brucke wooden bridge. Later, you have some free time to shop for famous Swiss watches, knives and chocolates. Enjoy a Gala Dinner on Scenic Lake cruise - dance your heart out to some pulsating bollywood music and dine in style.<br />
Overnight at Hotel Swissotel/ Seedamn Plaza/ Kameha Grand/ Dolder Waldhaus Hotel or similar in Central Switzerland/Zurich.			
														   
											</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> Mini train ride in Vaduz. Visit the famous Swarovski Museum – the headquarters of crystals. Procee										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, after a continental buffet breakfast, check-out and proceed to Vaduz - the capital city of Lichtenstein. Enjoy orientiation tour of the city in a mini train ride. This afternoon, enjoy a delicious hot Indian and Chinese meal for lunch. Later continue your scenic drive to Austria where you will visit the world-famous Swarovski Crystal Museum. Enjoy a fascinating experience in to the ‘world of crystals’. An experience that leaves you amazed at the dazzling glitter as you walk through this museum. A great opportunity to buy a souvenir for your family. Later, proceed to Innsbruck capital of Tyrol. On arrival, see the Golden Roof and the Maria Theresien Strasse. Stroll on cobblestone pathways and get a feel of old-world European charm. This evening, you have delicious Indian dinner specially prepared for you<br />
Overnight at Hotel Grauer Baer / Hilton/ or similar, in Innsbruck.			
														   
											</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> Romantic Venice - crossed by canals, beautiful monuments, the city that inspires poetry and passio										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at the hotel, check-out and drive to Italy. On arrival at the pier, board a private boat to the heart of the traditional city of Venice - The St. Mark’s Square. This astonishingly wonderful lagoon city is a special delight to visitors. Today, we have specially arranged a hot Indian lunch with some lively scintillating Italian music on board a private cruise for our valued guests. On arrival, admire the St. Mark’s square with the Basilica, Doge’s Palace, Campanile and Bridge of Sighs. You will be taken on an unforgettable gondola ride through the smaller canals for a true picture of this lagoon city. Also visit the Murano Glass showroom. Return to the pier and continue on your journey towards Padova. Later, check in at your hotel and relax. Tonight, we have arranged a delicious Indian buffet dinner in the comfort of your hotel.<br />
Overnight at Four point by Sheraton / Radisson/Le Terrazze, or similar in Padova /Abano Terme /Treviso.			
														   
											</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> Pisa - Marvel at one of the wonders of the world - The Leaning Tower of Pisa. Guided city tour o										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast at your hotel, check-out and proceed to Pisa to visit the Square of Miracles. Remain spellbound as you approach this precariously leaning tower. Photograph your family with the Leaning Tower in the backdrop. You also have some free time to shop. Next, proceed to Florence, the capital of Tuscany. After a delicious Indian lunch, meet your English speaking local guide for a city tour of Florence, including the Duomo, the Campanile, the Baptistry with its Gates to Paradise, Piazza Della Signoria - an open-air museum of sculptures, the famous Ponte Vecchio - bridge across the river Arno. Drive to Piazzale Michelangelo, a square on top of a hill with its replica of the impressive statue of David and also get a<br />
bird’s eye view of the city of Florence. Tonight, we have arranged a delicious Indian buffet dinner in the comfort of your hotel.<br />
Overnight at Hotel Wallart Art / Hotel Star Vespucci or similar in Prato / Pisa / Florence.			
														   
											</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> Visit the world’s smallest country – the Vatican City which includes the Vatican Museum, the Sis										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a continental buffet breakfast this morning, check out of your hotel, board your deluxe airconditioned coach and proceed to Rome. On arrival, enjoy an Indian lunch. Later, meet your English speaking guide who will take you to the Vatican City - the smallest country in the world (shorts or sleeveless vests not allowed). First stop at the Vatican Museum, with a visit to the world-famous Sistine Chapel - a pure source of inspiration for art lovers and tourists alike, specially included on your tour. This will be followed by a visit to the holy Basilica of St. Peter’s - the incomparable home of architectural and artistic masterpieces by Michelangelo and Bernini, which will leave you awestruck. Next, visit the imposing Colosseum, from inside, a vast amphitheatre, known for its gladiator fights. The tour of Rome is incomplete without visiting this 2000 year old stone ruin. Also see the Victor Emmanuel Monument, the Roman Forum and many more sights of this historic city. Tonight, we have arranged a special farewell dinner for all our guests.<br />
Overnight at Sheraton/ Holiday Inn or similar, in Rome.			
														   
											</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> Fly back home.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												After a buffet/boxed breakfast, we check out and proceed to the airport for your flight back home.Arrive home with pleasant memories of your European tour, which we are sure you will treasure for a lifetime. Do spare a few minutes to fill in the feedback form and hand it to your Tour Manager. Your valued suggestions will be most appreciated.			
														   
											</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">Inclusions</p>
								</div>
												
								<ul>
																			<li>Hotel</li>
																						<li>Meals</li>
																						<li>Sightseeing</li>
																						<li>Transfers</li>
																			</ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Exclusions</p>
								</div>
								
								<ul><li>If you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to</li><li>
come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to</li><li>
availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent.</li><li>
Kindly note, the deviation will be actioned only 30 days prior to departure date.</li><li>
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United</li><li>
Kingdom, the additional charge towards UK departure tax will be applicable.</li><li>
Cost of Basic Travel Quota equivalent to USD 10,000.</li><li>
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of October 1st 2015 rates).</li><li>
Taxes as applicable are extra.</li><li>
The tour cost does not include POE charges and passport charges.</li><li>
No porterage included.</li><li>
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.</li><li>
Tips of any nature i.e. drivers, guides, etc.</li><li>
Meals other than that what is mentioned in your itinerary.</li><li>
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in ‘What your tour price includes’.</li><li>
Cost of Lido Show.</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								April : 7, 10, 14, 17, 21, 24, 28<br />
May : 1, 5, 8, 12, 15, 19, 22, 26, 29<br />
June : 2, 5, 9, 12, 16, 19, 23, 26, 30<br />
July : 6, 13, 20, 27<br />
August : 3, 10, 17, 24, 28<br />
September : 7, 28								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Departure Cities with rates</p>
								</div>
								Ex-Mumbai / Delhi / Chennai / Hyderabad / Ahmedabad / Bengaluru / Kolkata/ Cochin								</div>
									
								<div class="data mt20px p15px">            
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Terms &amp; Conditions</p>
								</div>				
								<ul>
	<li><strong>Pls note this is just a quotation, rates and availability subject to change<u>.</u> </strong></li>
	<li><strong><u>3.65 % Service Tax will be applicable on Package Cost</u></strong></li>
	<li>Note that the above rates are subject to Availability at the time of Booking.</li>
	<li>No Rooms or Services have been blocked</li>
	<li>Check all inclusions as any additions will occur in extra charges.</li>
	<li>Rates are based on the requested dates</li>
	<li>Current rate of exchange will be applicable at the time of final payment</li>
</ul>								</div>
														
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="European Extravaganza Reverse 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="55368"/>
						</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.bhramandeshvidesh.com/packages-in-new-delhi.htm" title="Packages in New Delhi">New Delhi</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-faridabad.htm" title="Packages in Faridabad">Faridabad</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-paris.htm" title="Packages in Paris">Paris</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-manali.htm" title="Packages in Manali">Manali</a> <b class="alpha50 bn small">(11)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-shimla.htm" title="Packages in Shimla">Shimla</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-london.htm" title="Packages in London">London</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-bern.htm" title="Packages in Bern">Bern</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-haridwar.htm" title="Packages in Haridwar">Haridwar</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-berlin.htm" title="Packages in Berlin">Berlin</a> <b class="alpha50 bn small">(8)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-vienna.htm" title="Packages in Vienna">Vienna</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-rome.htm" title="Packages in Rome">Rome</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-amsterdam.htm" title="Packages in Amsterdam">Amsterdam</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-rishikesh.htm" title="Packages in Rishikesh">Rishikesh</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-brussels.htm" title="Packages in Brussels">Brussels</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-kufri.htm" title="Packages in Kufri">Kufri</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-kullu.htm" title="Packages in Kullu">Kullu</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-dharamshala.htm" title="Packages in Dharamshala">Dharamshala</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-palampur.htm" title="Packages in Palampur">Palampur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-nainital.htm" title="Packages in Nainital">Nainital</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-mussoorie.htm" title="Packages in Mussoorie">Mussoorie</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-dehradun.htm" title="Packages in Dehradun">Dehradun</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-kandy.htm" title="Packages in Kandy">Kandy</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-prague.htm" title="Packages in Prague">Prague</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-nuwara-eliya.htm" title="Packages in Nuwara Eliya">Nuwara Eliya</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-colombo.htm" title="Packages in Colombo">Colombo</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-budapest.htm" title="Packages in Budapest">Budapest</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-vaduz.htm" title="Packages in Vaduz">Vaduz</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px spanlist dn"><a class="dif" href="http://www.bhramandeshvidesh.com/packages-in-mcleodganj.htm" title="Packages in Mcleodganj">Mcleodganj</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.bhramandeshvidesh.com/packages-in-pisa.htm" title="Packages in Pisa">Pisa</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.bhramandeshvidesh.com/packages-in-bhopal.htm" title="Packages in Bhopal">Bhopal</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
										
				</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<p class="b dif rHead">Packages by Category</p>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/valley-holidays-catid.htm" title="Valley Packages">Valley</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/heritage-holidays-catid.htm" title="Heritage Packages">Heritage</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.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.bhramandeshvidesh.com/religious-pilgrimage-holidays-catid.htm" title="Religious & Pilgrimage Packages">Religious & Pilgrimage</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/lakes-rivers-holidays-catid.htm" title="Lakes & Rivers Packages">Lakes & Rivers</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/camping-holidays-catid.htm" title="Camping Packages">Camping</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/wildlife-nature-holidays-catid.htm" title="Wildlife and Nature Packages">Wildlife and Nature</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/hill-station-holidays-catid.htm" title="Hill Station Packages">Hill Station</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="http://www.bhramandeshvidesh.com/safari-holidays-catid.htm" title="Safari Packages">Safari</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, Berlin, Brussels, Amsterdam, Rome, Vaduz, Vienna, Bern</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.bhramandeshvidesh.com/tour-packages/european-royale-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106337.jpg"  alt="European Royale Tour" title="European Royale Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/european-royale-tour.htm" title="European Royale Tour"><h3>European Royale 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> : 
								17 Nights / 18 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Brussels, Amsterdam, Rome..</p>
															<div class="mt10px small">
							<form name="pkg_55398" id="pkg_55398" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/european-royale-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Royale 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="55398"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/enchanting-east-europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106241.jpg"  alt="Enchanting East Europe Tour" title="Enchanting East Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/enchanting-east-europe-tour.htm" title="Enchanting East Europe Tour"><h3>Enchanting East 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> : 
								8 Nights / 9 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Berlin, Budapest, Prague, Vienna</p>
															<div class="mt10px small">
							<form name="pkg_55320" id="pkg_55320" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/enchanting-east-europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Enchanting East 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="55320"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/europe-for-all-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106252.jpg"  alt="Europe For All Tour" title="Europe For All Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/europe-for-all-tour.htm" title="Europe For All Tour"><h3>Europe For All 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> : 
								6 Nights / 7 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Paris, Brussels, Bern</p>
															<div class="mt10px small">
							<form name="pkg_55330" id="pkg_55330" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/europe-for-all-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Europe For All 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="55330"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/eastern-europe-with-balkans-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106580.jpg"  alt="Eastern Europe With Balkans Tour" title="Eastern Europe With Balkans Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/eastern-europe-with-balkans-tour.htm" title="Eastern Europe With Balkans Tour"><h3>Eastern Europe With Balkans 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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  Berlin, Zagreb, Budapest, Prague, Vienna..</p>
															<div class="mt10px small">
							<form name="pkg_55600" id="pkg_55600" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/eastern-europe-with-balkans-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Eastern Europe With Balkans 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="55600"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/dilkash-europe-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106237.jpg"  alt="Dilkash Europe Tour" title="Dilkash Europe Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/dilkash-europe-tour.htm" title="Dilkash Europe Tour"><h3>Dilkash 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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Rome, Bern</p>
															<div class="mt10px small">
							<form name="pkg_55319" id="pkg_55319" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/dilkash-europe-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="Dilkash 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="55319"/>
							</form>
							</div>
							</div>
							</div>
							</div>
							</li>
												
							<li>
							<div class="bdr">
							<div class="cp" onclick="location.href='http://www.bhramandeshvidesh.com/tour-packages/european-grandeur-with-scottish-highlights-tour.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106317.jpg"  alt="European Grandeur with Scottish Highlights Tour" title="European Grandeur with Scottish Highlights Tour"  class="bdr p1px"  /></div>
															
							<div class="headHr bdr0 p7px b ml2px mr2px mt1px large tp-head"><a href="http://www.bhramandeshvidesh.com/tour-packages/european-grandeur-with-scottish-highlights-tour.htm" title="European Grandeur with Scottish Highlights Tour"><h3>European Grandeur With Scottish Highlights..</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> : 
								20 Nights / 21 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Berlin, Amsterdam, Rome, ..</p>
															<div class="mt10px small">
							<form name="pkg_55380" id="pkg_55380" method="post" action="http://www.bhramandeshvidesh.com/enquiry-form-10002.htm">
							<a class="theme1 dib p5px10px ts0 b c5px lh15em" href="http://www.bhramandeshvidesh.com/tour-packages/european-grandeur-with-scottish-highlights-tour.htm" title="View Details">View Details</a> 
							<input type="hidden" name="subject" value="European Grandeur with Scottish Highlights 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="55380"/>
							</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:75:"Book European Extravaganza Reverse Tour - 14 Nights / 15 Days Tour Packages";i:2;s:193:"book european extravaganza reverse tour - 14 nights / 15 days tour packages, forts and palaces tour packages, london, paris, berlin, brussels, amsterdam, rome, vaduz, vienna, bern tour packages";i:3;s:235:"Bhraman Tours and Travels offers European Extravaganza Reverse Tour - 14 Nights / 15 Days tour package, budget Forts and Palaces tour packages for London, Paris, Berlin, Brussels, Amsterdam, Rome, Vaduz, Vienna, Bern at exciting price.";i:4;s:3229:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Berlin, Brussels, Amsterdam, Rome, Vaduz, Vienna, Bern"        
		                 },
		      "description": "A complete all-inclusive tour at an honest price with maximum quality sightseeing and minimum travelling time.
Stay in top quality hotels
All hot delicious unlimited Indian Jain / vegetarian / non-vegetarian meals included.
Enjoy daily buffet breakfast.
A choice of local meals in few different countries.
Stay 02 nights in London with all meals included.
Guided city tour of London with Changing of the guards
Entrance to the Tower of London housing Britain’s crown jewels including the Kohinoor Diamond.
Visit Madame Tussaud’s wax museum.
Ride on the London Eye.
Guided tour of the ‘Mecca of cricket’ - Lord’s cricket ground in London.
A unique experience of travelling under the English Channel aboard the world’s fastest Chunnel train - the Eurostar.
Guided city tour of Paris
Visit the 3rd level of the Eiffel Tower.
A day full of fun at Euro Disney OR Visit the magnificent Versailles Palace and the world famous Louvre Museum.
Romantic Seine cruise in Paris.
Chance to see the extravagant Lido Show.
Orientation tour of Brussels.
Visit the famous Dam Square - the heart of Amsterdam.
See both Keukenhof and Madurodam.
Catch a breathtaking view of Amsterdam city on a canal cruise.
Visit the historical Cologne Cathedral.
Visit Titisee, right in the heart of the Black Forest.
See a cuckoo clockIf you wish to travel in advance i.e., before the published departure date as mentioned in the brochure or like to
come back on a later date after the tour ends, there will be an additional charge that will be applicable (subject to
availability of seats for the given dates & ticket validity) which will be advised to you by your sales staff / travel agent.
Kindly note, the deviation will be actioned only 30 days prior to departure date.
In case your tour is not ending in United Kingdom and you wish to return from London or any other city in the United
Kingdom, the additional charge towards UK departure tax will be applicable.
Cost of Basic Travel Quota equivalent to USD 10,000.
Any increase in the airfare charged by the airline on your air ticket (presently calculated as of October 1st 2015 rates).
Taxes as applicable are extra.
The tour cost does not include POE charges and passport charges.
No porterage included.
Any expenses of personal nature such as porterage, laundry expenses, wines, mineral water, food and drink not in the regular menu provided by us, minibar, telephone calls etc.
Tips of any nature i.e. drivers, guides, etc.
Meals other than that what is mentioned in your itinerary.
Cost of excursions, city sightseeing, entrance fees and local guides availed of by the passengers, other than that mentioned in ‘What your tour price includes’.
Cost of Lido Show.07-0428-09",
		      "name": "European Extravaganza Reverse Tour",
		      "telephone": "+91-9711158456"
		    }
		    </script>
			";i:5;N;}