a:6:{i:0;s:17667:"				<div class="h1"><h1>Classic Scotland Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.travelect.co.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.travelect.co.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Classic Scotland Tour</p>
				<br />
				
								
						<script language="javascript"> 
							function topDestinationToggle(showHideDiv, switchTextDiv) {
							var ele = document.getElementById(showHideDiv);
							var text = document.getElementById(switchTextDiv);
							if(ele.style.display == "block") {
								ele.style.display = "none";
							  text.innerHTML = "View More &#9660;";
							}
							else {
							  ele.style.display = "block";
							  text.innerHTML = "View Less &#9650;";
							}
							}
		                </script>
											<script type="text/javascript">			
					(function($){	
					  $(function(){
						$('[id^=detailslider]').each(function(){
							$(this).DG_Slider({
								auto: true, mode:'fade', pager:true, pagerType:'short',controls:true
							});
						})
				
						$('a[rel=gall]').fancybox()
					  });	
					}(jQuery))
					</script>
					
					<br />
					<div class="data">
					<table class="w100 formTable bdr0 imgWidth">
					<tr>
					<td class="p10px">
					<table class="w100 packageForm">
											<tr>
						<td class="b p5px w125px vat">Tour Code </td>
						<td class="p5px pl0px vat">026</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						7 Nights / 8 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Edinburgh, Inverness</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat"><span class="dif">On Request</span></td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Classic Scotland 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="65608"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" id="detailslider1">
															<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120857.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120857.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120858.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120858.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120859.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120859.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120860.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120860.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120861.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120861.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120862.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120862.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120863.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120863.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
																		<li class="bdr bw3px c5px p1px"><div class="dt"><p class="ac vam dtc w150px h150px"><a rel="gall" data-fancybox="showZoomImage" href="https://ttw.wlimg.com/package-images/photo-big/dir_12/333350/120864.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_12/333350/120864.jpg"  width="150" height="150"    alt="Classic Scotland Tour" title="Classic Scotland Tour" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
											<div class="headHr">
			            <p class="p7px b pl10px xlarge">Tour Itinerary</p>
			            </div>
			            
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 1:</b> Arrival Day In Edinburgh
								</p>
								<p class="aj">Welcome to Scotland. For an easy and comfortable way to get from the Edinburgh or Glasgow airport to your hotel in the Edinburgh city centre, we are happy to arrange a private transfer for you (at additional cost). After settling in, go out and explore. Edinburgh has a long and storied history, so there’s no shortage of UNESCO World Heritage Sites, museums and landmarks to visit, including the majestic Edinburgh Castle.   <br />
You can easily travel around the city centre on foot, and we recommend strolling along the Royal Mile or walking to Castle Hill for a spectacular view of the city. For a good introduction to the city, why not join the Edinburgh Tour, a guided tour on a double-decker bus covering the top attractions, or a guided walking tour of the Old Town. And of course there are plenty of restaurants and bars to enjoy some warm Scottish hospitality—not to mention a taste of the local whisky.<br />
Spend the night in Edinburgh. </p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 2:</b> Into The Scottish Highlands
								</p>
								<p class="aj">Start your drive today across the remarkable Forth Road Bridge and head towards the majestic Scottish Highlands today. There are many possible stops depending on your time and interest. Notable highlights include the picture-perfect village of Dunkeld, perched on the banks of the River Tay, and the 13th century Blair Castle nestled in the heart of Highland Perthshire. Travelling through the Cairngorms National Park, another ideal stop is at the Highland Folk Museum in Newtonmore, where actors and restored buildings help bring Highland history to life.   <br />
If time allows, head to the Battlefield of Culloden Moor, where the last battle on British soil occurred in 1746—an event considered “the beginning of the end for the Highlands”. There you can also visit Clava Cairns, a series of tombs and standing stones which pre-date Stonehenge by some 1,000 years. Then continue on to Inverness, regarded as "Capital of the Highlands."<br />
Spend the night in the Inverness area.<br />
Driving distance: 251 km / 156 miles</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 3:</b> Start Your Drive Today Across The Remarkable Forth Road Bridge And Head Towards The Majestic Scottis
								</p>
								<p class="aj">Experience some of Scotland’s most famous attractions today. Drive along the shores of Loch Ness where you can visit the Loch Ness Centre and Exhibition. You might also wish to take a boat tour on Loch Ness in search of its notorious and elusive monster, or go explore the nearby Urquhart Castle ruins on the shores of the lake. Further along the drive, make a stop at the iconic Eilean Donan Castle, a sight you will surely recognize from many photographs, films and TV shows. Then head for the picturesque Isle of Skye in the Inner Hebrides.<br />
Spend the night on the Isle of Skye or nearby.<br />
Driving distance: 182km / 113 miles</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 4:</b> Day Of Leisure On The Isle Of Skye
								</p>
								<p class="aj">Today you have a full day to take in the magic of Skye, a haven for nature lovers and history enthusiasts alike.  Take some time to wander around the scenic village of Portree with its colourful buildings and boutiques. We also recommend a drive around the northern part of the island via the breathtaking Trotternish Peninsula. Here you can enjoy a walk up to “The Old Man of Storr” rock pinnacle for stunning views and to see the beautiful Kilt Rock waterfall. Other suggested highlights include the An Corran Beach at Staffin, where you may spot dinosaur footprints dating back 165 million years, the Quirang rock face and the mystical Fairy Glen.<br />
Spend another night on the Isle of Skye or nearby.<br />
Driving distance: 66 km / 41 miles</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 5:</b> Sleat Peninsula & Glenfinnan
								</p>
								<p class="aj">Today head to the beautiful Sleat Peninsula of Skye and take in the scenery characterized by beautiful beaches, lochs, forests and glens. Before boarding the ferry, you might wish to visit the Talisker distillery to sample some genuine single Malt Scotch Whiskey or enjoy a walk to the beautifully crystal clear Fairy Pools at foot of the Black Cuillin Hills.  <br />
After taking the ferry from Amadale to Mallaig, we recommend a stop at the glorious Camusdarach Beach—a stunning sight with its white sands and clear blue waters. Then drive to Glennfinnan, where you can visit the Glenfinnan Monument, a tribute to the Jacobite clansmen overlooking the mysterious and beautiful Loch Shiel. From there, enjoy more amazing Highland scenery en route to Fort William.<br />
Spend the night in the Fort William area.<br />
Driving distance: 137 km / 85 miles<br />
Ferry duration: 30 minutes</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 6:</b> Through Famous Glens To Loch Lomond
								</p>
								<p class="aj">Head to Rob Roy country, the Trossachs and Loch Lomond area today. This journey takes you past Scotland’s most famous valley, the magical Glen Coe, combining world-famous scenery and history. Other worthwhile sights include the grave of Rob Roy, the notorious outlaw and folk hero, at Balquidder and the beautiful Falls of Dochart in the village of Killin.<br />
Alternatively, you can choose to travel a longer scenic route with views of Loch Linnhe via the charming seaside village of Oban onto the historical valley of Kilmartin Glen. It is considered to have one of the most important concentrations of Neolithic and Bronze Age remains in Scotland, with many cairns, standing stones, rock carvings, stone circles, forts and castles. On this route you can also stop at the charming village of Inveraray on the shores of Loch Fyne, where you have the opportunity to visit Inveraray Castle, the home of the Duke of Argyl.<br />
Spend the night in the Loch Lomond / Trossachs National Park area.<br />
Driving distance via Glen Coe: 129 km / 80 miles<br />
Driving distance via Kilmartin Glen/Inveraray: 285 km / 177 miles</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 7:</b> Trossachs National Park To Edinburgh
								</p>
								<p class="aj">It's time to head back towards Edinburgh today. But first you can take some time to enjoy the beautiful Loch Lomond and Trossachs National Park area. Take a walk in nature to spot wildlife, enjoy an optional steam-ship tour on the tranquil lake Loch Katrine, follow in the footsteps of Rob Roy or visit a local whisky distillery.<br />
For a fun photo opportunity, don’t miss the Doune Castle, featured in the classic film Monty Python & the Holy Grail and the Outlander TV series as "Castle Leoch". Another ideal place to visit is Stirling Castle and the monument dedicated to William Wallace, the rebellious Scottish knight and subject of the film Braveheart.  <br />
Back in Edinburgh, return your rental car and enjoy the rest of the day at your leisure, perhaps with a fine dinner to top off your amazing journey.<br />
Spend the night in Edinburgh. <br />
Driving distance: 82 miles /132 km</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 8:</b> Departure
								</p>
								<p class="aj">To get to Edinburgh Airport, you can take the Airport Express bus from Waverley Bridge or a taxi directly from your hotel. If your flight is in the afternoon, use the morning to enjoy some last-minute shopping, visit one of Edinburgh’s museums or simply relax and take in the old world atmosphere of the city.<br />
If you wish to spend more time in Edinburgh or Glasgow before or after the tour, ask your travel consultant about adding extra nights or services, such as private airport transfers. We can also extend your trip to include other destinations in the Nordic region such as Iceland or Norway. Contact us for details about customizing your itinerary.</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
												</ul>
						<br />
											
						<p class="large b mb5px dif">Terms &amp; Conditions :</p>* Some Advance Percentage of total booking amount 
* Airfare/Transport fare to be paid full at one time in advance.~^#^~* Upon cancellation, refund will be made after deducting the Retention Amount. 
* Retention Amount varies as per the number of days left before your package start date. ~^#^~												</div>
												
						<div class="ac mb10px">
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.travelect.co.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Classic Scotland 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="65608"/>
						</form>
						</div>
						
						";i:1;s:60:"Book Classic Scotland Tour - 7 Nights / 8 Days Tour Packages";i:2;s:120:"book classic scotland tour - 7 nights / 8 days tour packages, heritage tour packages, edinburgh, inverness tour packages";i:3;s:176:"Book Classic Scotland Tour - 7 Nights / 8 Days tour packages from El Travel Elect Pvt. Ltd - Get attractive 7 Nights / 8 Days Heritage  tour packages for  Edinburgh, Inverness.";i:4;s:413:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Edinburgh, Inverness"        
		                 },
		      "description": "",
		      "name": "Classic Scotland Tour",
		      "telephone": "+91-9225503370"
		    }
		    </script>
			";i:5;N;}