a:6:{i:0;s:68003:"						<section class="headBg theme2 ">
						<div class="wrap">
						<div class="page-title-inner fo"> 
						<div class="h1"><h1>European Grandeur With Scottish Highlights 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 Grandeur With Scottish Highlights 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/106317.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106317.jpg);background-size:cover;background-position:center;"><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="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/106318.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106318.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106318.jpg"  alt="European Grandeur with Scottish Highlights Tour" title="European Grandeur with Scottish Highlights 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/106319.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106319.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106319.jpg"  alt="European Grandeur with Scottish Highlights Tour" title="European Grandeur with Scottish Highlights 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/106320.jpg">
										<div class="imgWidth" style="background-image: url(https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106320.jpg);background-size:cover;background-position:center;"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106320.jpg"  alt="European Grandeur with Scottish Highlights Tour" title="European Grandeur with Scottish Highlights 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/106317.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106318.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106319.jpg"></a></li><li data-slideIndex=""><a href=""><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106320.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 Grandeur with Scottish Highlights Tour</p>
					
											<p class="mb5px"><b>Duration :</b> 
						20 Nights / 21 Days 
						</p>
												<p class="mb5px"><b>Destination Covered :</b> London, Paris, Berlin, Amsterdam, Rome, Vienna, Bern, Vatican City</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 Grandeur with Scottish Highlights 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="55380"/>
						</form>
						
												</div>
											<br/>
					</div>       
					</div>
											<div class="mt30px mb30px">
						<div class="b xxlarge mb10px">
								   					Overview
		   											</div>					
						<p class="aj">A complete tour at an honest price with maximum quality sightseeing and minimum traveling time.<br />
Hot delicious unlimited Indian Jain / vegetarian / non vegetarian meals included.<br />
Enjoy daily Continental buffet breakfast.<br />
Visit to a whiskey distillery included!<br />
Scenic cruise on Lake Windermere.<br />
Guided city tour of Edinburgh.<br />
Visit the famous Windsor Castle.<br />
Visit Stratford - upon - Avon - William Shakespeare’s birth place.<br />
Guided city tour of London.<br />
Guided tour of the world famous Wimbledon Lawns and Tennis museum in London.<br />
Visit Madame Tussaud’s wax museum.<br />
Ride on the London Eye.<br />
Visit the famous Swaminarayan Temple in London.<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 />
Enjoy a scenic cruise on the river Rhine.<br />
A stroll down the Alstadt in Heidelberg.<br />
Visit the heart of the Blackforest.<br />
View the magnificent Rhine Falls in the Schaffhausen.<br />
Stay 04 nights in scenic Switzerland.<br />
Chance to cherish an experience to be on the top of Europe - Jungfraujoch.<br />
Visit the famous Swarovski Crystal museum and showroom in Wattens<br />
See the Golden Roof and Maria Theresien Strasse in Innsbruck.<br />
Visit the Murano glass showroom in Venice.<br />
Romantic gondola ride in Venice.<br />
Guided city tour of Florence.<br />
Guided city tour of Rome.<br />
A visit to the Vatican Museum including the Sistine Chapel.<br />
See the Leaning Tower of Pisa - one of the wonders of the world.<br />
Orientation tour of Genoa.<br />
Stay for 02 nights on the expensive French Riviera - world’s most renowned beachfront.<br />
Excursion with a local guide to Nice, Cannes, Monaco and Monte Carlo - the posh playground of the rich and famous.<br />
Visit a perfume factory.<br />
Visit Glacier 3000<br />
Visit Vevey and Montreux.<br />
Guided city tour of Paris.<br />
Visit the 3rd level of the Eiffel Tower.<br />
Enjoy romantic Seine cruise in Paris.<br />
Visit the magnificent Versailles Palace.<br />
Chance to experience the glamour of the famous Lido Show.<br />
Professional, friendly, multilingual and experienced Indian Tour Managers travelling with you<br />
throughout your tour in Europe.<br />
Visit 09 countries in 21 days: UK, Netherlands, Germany, Switzerland, Austria, Italy, Vatican City, France and Monaco.If 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 our sales staff / travel agent. 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<br />
other city in the United Kingdom, the UK departure tax will be advised on confirmation of the deviation date.<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 1ST October, 2015ates).<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 and Jungfraujoch.07-0414-04</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> Arrive into Manchester, a city and metropolitan borough in Greater Manchester of United Kingdom.										
											
											<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 Manchester. Arrive at Manchester airport, where you will be greeted by your friendly. Thomas Cook Tour Manager outside the baggage hall. We shall then proceed to your conveniently located hotel towards Lake District and check-in first. Freshen up and relax in the comfort of your hotel room. This evening a delicious Indian dinner awaits you at restaurant.<br />
Overnight at the Hotel Holiday Inn / Premier Inn or similar in Lancaster / Lake District 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 2											
											:</b> Enjoy a Scenic cruise on Lake Windermere. Visit to a whiskey distillery included!										
											
											<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 check-out and drive through England’s first ever National Park known as the Lake District, a mountainous region dotted with lakes, truly an inspiration for many writers including William Wordsworth. Enjoy a cruise on Lake Windermere. After a delicious Indian lunch proceed to visit a whisky distillery in Scotland where you will get an insight into the production process. This evening after a delicious Indian dinner check in to your hotel.<br />
Overnight at Hotel Holiday Inn or similar in Edinburgh 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 3											
											:</b> Guided tour of Edinburgh.										
											
											<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 we check out and meet your local guide for a city tour of Edinburgh who will tell you about the history and culture of this city. See the Scottish parliament, imposing Edinburgh Castle with its breath-taking views over the city and many more interesting sights. Today, enjoy a hot Indian lunch. Later, proceed to Manchester. We then proceed towards Manchester. Enroute, stop at Gretna Green - one of the world’s most popular wedding destinations. This evening after a delicious Indian dinner check-in to your hotel.<br />
Overnight at Hotel Holiday Inn or similar in Manchester 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 4											
											:</b> Visit the Windsor Castle. Onto Stratford - upon - Avon - William Shakespeare’s birthplace. Proceed										
											
											<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, sit back in your coach as we drive you through the beautiful English countryside to Stratford - upon - Avon, William Shakespeare’s birthplace. Visit the house where he was born and wrote much of his famous works. Today, enjoy a hot Indian lunch. We then take you to visit the famous Windsor Castle, the Queen of England’s favourite holiday home. Be enthralled by this thousand-year-old fortress transformed into a royal palace. After a sumptuous Indian dinner at a restaurant, check-in to your hotel.<br />
Overnight at Hotel Park Inn / St. Giles / Quality or similar in 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 5											
											:</b> Enjoy the many sights of London on your guided tour. Guided tour of the world famous Wimbledon Lawns										
											
											<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 proceed for a guided city tour with an expert English speaking guide who will explain to you all the highlights of London’s landmarks: the Buckingham Palace, Hyde Park, the Big Ben, Westminster Abbey, Houses of Parliament, Trafalgar Square, Piccadilly Circus, Tower Bridge, River Thames and many more. Relish a hot Indian meal for lunch. Today, Thomas Cook has specially arranged a guided tour of the world famous Wimbledon museum, a dream for every Tennis lover. On arrival, embark on a stunning multidimensional tour of the traditions, the Championship trophies and the sights and sounds that have made Wimbledon the most coveted. Later, you have some free time to shop at many of London’s famous shopping stores like Marks and Spencer’s, Selfridges and many more on Oxford Street. After a nostalgic evening proceed to the restaurant where a delicious Indian dinner awaits you.<br />
Overnight at Hotel Park Inn / St. Giles / Quality or similar in 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 6											
											:</b> Visit Swaminarayan Temple. Visit the world-renowned Madame Tussaud’s wax museum. Be amazed by the										
											
											<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 sit back in your coach as we take you to visit we visit the famous Swaminarayan temple made from Italian Carrara marble. Later 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 afternoon, enjoy a hot Indian lunch. Next, we take you on the famous London Eye – one of the world’s largest observationwheels. 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 and a panorama of some of London’s most famous streets, churches, palaces and monuments are spread out before you. Later, drive to the port to board your ferry to Holland. After a delicious Indian dinner on board the ferry.<br />
Overnight on board the ferry.			
														   
											</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> Amsterdam - a city full of surprises. Visit Madurodam and see Holland in miniature. Also visit Keu										
											
											<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 on board, disembark the ferry. Then sit back and relax in your coach as we proceed to Lisse village to visit 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 and colourful flower beds amongst ancient trees. 17th May onwards, visit Volendam. Marvel at the beauty of this picturesque town, its people in graceful traditional costumes, its little wooden houses<br />
and the quaint harbour will amaze your imagination. 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, visit Madurodam, all throughout the year, where you can see most of Holland in miniature, replicated in minute detail on a 1:25 scale. Next, arrive into Amsterdam. This afternoon, you enjoy a delicious hot Indian meal for lunch. Later board your glass-topped boat as we sail through the canals for an exciting canal cruise. The city’s colourful past comes alive with its 1,000 bridges and fine old houses on your tour of Amsterdam. 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. After a hot Indian dinner drive back to your hotel.<br />
Overnight at Hotel Amrath / Best Western or similar in Breda / Antwerp 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> Visit the biggest Gothic Cathedral in Europe - the Cologne Cathedral.										
											
											<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. 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. Depart for hotel and check in. This evening, enjoy a sumptuous Indian dinner.<br />
Overnight at Hotel Holiday Inn Express / Park Inn / Mercure or similar in Frankfurt /Heppenheim / Mannheim.			
														   
											</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> Visit Heidelberg Alstadt - with its old time appeal. On - to Black Forest. View the spectacular Rhin										
											
											<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 drive to Heidelberg, situated on the banks of the river Neckar. Later proceed to Black Forest, surrounded by dark fir forests, fairy tale woods and flowering meadows. Here is the home of the world-famous cuckoo clock. Get invited for a free demonstration and buy one for your home – a prized possession. Today, enjoy an Indian lunch meal with an authentic black forest pastry. Next, proceed to Switzerland, en route visit the Rhine Falls – the largest waterfalls in Europe. This evening, enjoy a hot Indian dinner at a restaurant.<br />
Overnight at Hotel Swiss Quality / Arcade / Sorell / Victoria or similar in Central Switzerland.			
														   
											</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> Day is at leisure OR you have a chance to join us on an all inclusive Alpine excursion tour to the w										
											
											<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, the day is at leisure OR you can join us on an adventurous ride 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 ‘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<br />
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 an Indian meal for lunch with champagne specially arranged for you on top of Jungfraujoch. Later, we visit Interlaken, a charming city nestled between two lakes and surrounded by the splendid Bernese Oberland Mountains. Treasure these wonderful moments as you drive back to your hotel. Enroute enjoy hot Indian meal for Dinner.<br />
Overnight at Hotel Swiss Quality / Arcade / Sorell / Victoria or similar in Central Switzerland.<br />
Note: For passengers not opting for Optional excursion the dinner will be packed and will be delivered to the hotel when the group arrives.			
														   
											</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> Onto Innsbruck, in picturesque Austria at the crossroads of Europe. Visit Swarovski Museum - the hea										
											
											<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 drive to picturesque Austria. After a hot Indian lunch we proceed to Wattens, 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 arrive in Innsbruck and proceed for an orientation tour of this beautiful city. See the Golden Roof and the Maria Theresien Strasse. Stroll on cobblestone pathways and get a feel of old-world European charm. The splendid scenes of the Alps in the background are a perfect picture-postcard setting. Tonight enjoy an Indian dinner especially prepared for you.<br />
Overnight at Hotel Kronen / Olympia / Alpine Park or similar in Seefeld/ 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 towards Italy. Indian lunch will be provided. Proceed to the pier and board a private boat which will take you 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. Sail over the Guidecca Canal, as you catch a glimpse of the serene waters of the Adriatic Sea. 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. This evening, after a hot delicious Indian dinner check into your hotel.<br />
Overnight at Hotel Campanile / B & B / Petrarca / Europa or similar in Padova / Rovigo 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 13											
											:</b> Visit Rome on a Guided city tour. Visit the world’s smallest country - the Vatican City which incl										
											
											<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 Rome. Meet your English-speaking local guide for a city tour of Rome, Indian lunch will be provided. Continue your drive to Rome, the eternal city with world renowned majestic monuments, enormous squares and magnificent churches. 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, see the imposing Colosseum, a vast amphitheatre, known for its gladiator fights. Also<br />
see the Victor Emmanuel Monument, the Roman Forum and many more sights of this historic city. This evening, after a hot delicious Indian dinner at a restaurant check into your hotel.<br />
Overnight at Hotel Idea / Best Western 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 14											
											:</b> Guided city tour of Florence - the cradle of the Renaissance, former home of the Medicis. Pisa - M										
											
											<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 coach and Drive to Piazzale Michelangelo, a square on top of a hill with its replica of the impressive statue of David and also get a bird’s eye view of the city of Florence. After a delicious Indian lunch depart for guided city tour of Florence. Meet your English - speaking local guide for a city tour of Florence, including the Duomo, 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. Late we proceed towards Pisa. Remain spellbound as you approach this precariously leaning tower. Photograph your family with the Leaning Tower in the backdrop. After a sumptuous hot Indian dinner at a restaurant check into your hotel.<br />
Overnight at Hotel Idea / Planet / B & B or similar in Pisa / Arezzo 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 15											
											:</b> Proceed to Genoa. Enjoy an orientation tour of this historic port city of Italy. Onto Nice, the ‘Q										
											
											<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 and continue your journey to Genoa - the beautiful port city of Italy and the boyhood home of Christopher Columbus. On arrival, we proceed on a city tour of this beautiful city with its incredible attractions and a stunning artistic heritage. Be stunned by its medieval old town the biggest in Europe, the intricate alleyways, the 16th century palazzos, baroque edifices, and Romanesque churches, looming over the little piazzas. Also see the boyhood home of Christopher Columbus. Stroll by the harbour with its many fishing boats. After a hot Indian lunch continue your journey to Nice. On arrival, proceed on a panoramic city tour of Nice. Free time to take a leisurely stroll along ‘Promenade Des Anglais, a seafront avenue that resembles a mile-long outdoor café. Relax on the beach amidst the blue waters of the Mediterranean Sea on the French Riviera. Enjoy a delicious dinner at an Indian restaurant before you check-in to the hotel.<br />
Overnight at Hotel Mercure / Park Inn / HI Park or similar in Nice / Grasse / Marseille 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 16											
											:</b> Today, join us on an unforgettable excursion to Cannes, Monaco and Monte Carlo. Also visit a perfume										
											
											<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, meet your local guide and start your guided city tour of Nice. Next visit Cannes - ‘Star city’ of the Cote d’ Azur, famous for its prestigious events, especially the International film festival, the most important of them all. The classy Promenade de la Croissette, the Palais des Festivals, the Avenue of Stars where a thousand handprints of famous celebrities have been immortalized. After a hot Indian lunch, we drive you to Eze Village - perched<br />
at the height of an imposing cliff, to visit a perfumery. Here you will see a demonstration of how French perfumes are made. Next, proceed to the wealthy principality of Monaco and Monte Carlo - one of the smallest states in Europe and a genuine high point of your tour. Later, photograph yourself with the Grand Palace, in the backdrop, the residence of Prince Albert, the Ruler of Monaco. You will be amazed at the spectacular view from Monaco and Monte Carlo over the Mediterranean Sea. You also have an opportunity to try your luck at the Grand Casino, the most famous casino in Europe. For a finale, we drive you on the most famous Formula 1 Grand Prix racing circuit. Tonight, a delicious hot dinner awaits you at an Indian restaurant.<br />
Overnight at Hotel Mercure / Park Inn / HI Park or similar in Nice / Grasse / Marseille 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 17											
											:</b> Onto Switzerland										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today sit back, relax and enjoy a spectacular scenic drive to Switzerland. Drive past beautiful views of the Alps with glimpses of Italian countryside and its medieval towns. Today lunch will be on your own. Enjoy the scenic route comprising of the<br />
French countryside along with the evergreen meadows of Switzerland. Enjoy hot Indian meal for dinner. Check into your hotel on arrival.<br />
Overnight at Hotel Park Inn / Ferney Voltaire / Eurotel Victoria or similar in Geneva / Villars 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 18											
											:</b> Visit Glacier 3000 and a trip to Montreux and Vevey.										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												Today after continental buffet breakfast, relax and enjoy a spectacular scenic drive to Glacier 3000. This is one of the most beautiful and scenic experience to cherish on your tour. Enjoy the spectacular views on top of Gstaad’s glacier and enjoy the views of over 24 summits of the surrounging area. Enjoy hot Indian lunch. Later proceed to the scenic town of Montreux and enjoy the real feel of Switzerland. We later proceed to the beautiful town of Vevey. Enjoy a stroll down this picturesque town which is the home town of Charlie Chaplin. Enjoy sumptuous hot Indian meal for dinner.<br />
Overnight at Hotel Park Inn / Ferney Voltaire / Eurotel Victoria or similar in Geneva / Villars 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 19											
											:</b> Bien Venue! Welcome to the glamour capital of the world – Paris known for fashion houses, art muse										
											
											<span class="fr pr10px"><i class="fa fa-angle-down"></i></span></a></div>
																							<div class="fo product-detail p15px pt0px">
												This morning, check out of your hotel after a continental buffet breakfast and proceed to the glamorous city of Paris. Today lunch will be on your own. Upon arrival, 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<br />
House, Invalides, Champs Elysees and many more. Later in the evening, you have a choice to enjoy hot Indian meal for dinner. 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 Park Inn / Forest Hill / Campanile 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 20											
											:</b> Enjoy a breathtaking view of Paris from the top of Eiffel Tower (3rd Level) Enjoy a romantic cruise										
											
											<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. We proceed to the Eiffel Tower. Enjoy the sights of this beautiful city from top of Eiffel Tower (Level 3). Enjoy a romantic Seine cruise as we sail past some of the historical monuments on the River Seine. This afternoon, enjoy Indian lunch. Later visit the magnificent Versailles Palace. Tonight, enjoy a delicious Indian dinner before we drive back to the hotel.<br />
Overnight at Hotel Park Inn / Forest Hill / Campanile 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 21											
											:</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 continental 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 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 our sales staff / travel agent. 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</li><li>
other city in the United Kingdom, the UK departure tax will be advised on confirmation of the deviation date.</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 1ST October, 2015ates).</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 and Jungfraujoch.</li></ul>
								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Specific Departure Dates</p>
								</div>
								
								April : 7, 21<br />
May : 12, 19, 26<br />
June : 9, 23<br />
July : 14								</div>
																<div class="data mt20px p15px">
								<div class="mb7px"> 
								<p class="b xlarge mb10px dib">Departure Cities with rates</p>
								</div>
								Ex-Mumbai / Delhi / Bengaluru / Chennai / Hyderabad / Ahmedabad / 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 Grandeur with Scottish Highlights 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="55380"/>
						</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-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-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-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-srinagar.htm" title="Packages in Srinagar">Srinagar</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-baramulla.htm" title="Packages in Baramulla">Baramulla</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-dalhousie.htm" title="Packages in Dalhousie">Dalhousie</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, Amsterdam, Rome, 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/bestof-europe-tour1.htm'">
															<div class="picBg ac vam lh0"><img src="https://ttw.wlimg.com/package-images/photo-big/dir_12/350588/106229.jpg"  alt="Best of Europe Tour" title="Best of 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/bestof-europe-tour1.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> : 
								10 Nights / 11 Days 
								</p>
																<p class="mt2px"><b class="alpha50">Destinations Covered</b> :  London, Paris, Berlin, Brussels, Amsterd..</p>
															<div class="mt10px small">
							<form name="pkg_55317" id="pkg_55317" 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/bestof-europe-tour1.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="55317"/>
							</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:77:"Book European Grandeur with Scottish Highlights Tour - 221 Days Tour Packages";i:2;s:192:"book european grandeur with scottish highlights tour - 221 days tour packages, forts and palaces tour packages, london, paris, berlin, amsterdam, rome, vienna, bern, vatican city tour packages";i:3;s:234:"Bhraman Tours and Travels offers European Grandeur with Scottish Highlights Tour - 221 Days tour package, budget Forts and Palaces tour packages for London, Paris, Berlin, Amsterdam, Rome, Vienna, Bern, Vatican City at exciting price.";i:4;s:4165:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "London, Paris, Berlin, Amsterdam, Rome, Vienna, Bern, Vatican City"        
		                 },
		      "description": "A complete tour at an honest price with maximum quality sightseeing and minimum traveling time.
Hot delicious unlimited Indian Jain / vegetarian / non vegetarian meals included.
Enjoy daily Continental buffet breakfast.
Visit to a whiskey distillery included!
Scenic cruise on Lake Windermere.
Guided city tour of Edinburgh.
Visit the famous Windsor Castle.
Visit Stratford - upon - Avon - William Shakespeare’s birth place.
Guided city tour of London.
Guided tour of the world famous Wimbledon Lawns and Tennis museum in London.
Visit Madame Tussaud’s wax museum.
Ride on the London Eye.
Visit the famous Swaminarayan Temple in London.
See both Keukenhof and Madurodam.
Catch a breathtaking view of Amsterdam city on a canal cruise
Visit the historical Cologne Cathedral.
Enjoy a scenic cruise on the river Rhine.
A stroll down the Alstadt in Heidelberg.
Visit the heart of the Blackforest.
View the magnificent Rhine Falls in the Schaffhausen.
Stay 04 nights in scenic Switzerland.
Chance to cherish an experience to be on the top of Europe - Jungfraujoch.
Visit the famous Swarovski Crystal museum and showroom in Wattens
See the Golden Roof and Maria Theresien Strasse in Innsbruck.
Visit the Murano glass showroom in Venice.
Romantic gondola ride in Venice.
Guided city tour of Florence.
Guided city tour of Rome.
A visit to the Vatican Museum including the Sistine Chapel.
See the Leaning Tower of Pisa - one of the wonders of the world.
Orientation tour of Genoa.
Stay for 02 nights on the expensive French Riviera - world’s most renowned beachfront.
Excursion with a local guide to Nice, Cannes, Monaco and Monte Carlo - the posh playground of the rich and famous.
Visit a perfume factory.
Visit Glacier 3000
Visit Vevey and Montreux.
Guided city tour of Paris.
Visit the 3rd level of the Eiffel Tower.
Enjoy romantic Seine cruise in Paris.
Visit the magnificent Versailles Palace.
Chance to experience the glamour of the famous Lido Show.
Professional, friendly, multilingual and experienced Indian Tour Managers travelling with you
throughout your tour in Europe.
Visit 09 countries in 21 days: UK, Netherlands, Germany, Switzerland, Austria, Italy, Vatican City, France and Monaco.If 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 our 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 UK departure tax will be advised on confirmation of the deviation date.
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 1ST October, 2015ates).
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 and Jungfraujoch.07-0414-04",
		      "name": "European Grandeur with Scottish Highlights Tour",
		      "telephone": "+91-9711158456"
		    }
		    </script>
			";i:5;N;}