a:6:{i:0;s:11448:"				<div class="h1"><h1>Imperial Cities & Coast Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.sanskrutivacations.in/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.sanskrutivacations.in/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Imperial Cities & Coast 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">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">Marrakech, Meknes, Essaouira</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Price (Starting From) </td>
						<td class="p5px pl0px vat">
						INR 46343 Per Person						</td>
						</tr>
												<tr>
						<td></td>
						<td>
						<p>
						<form name="frmpackagedetail" id="frmpackagedetail" method="post" action="http://www.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Imperial Cities & Coast 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="51956"/>
						</form>
						</p>
						</td>
						</tr>
											</table>
					</td>
											<td class="p10px vat imgWidth150 w150px lh0">
						<div class="demo-wrap">
						<ul class="lsn m0px p0px" >
															<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_14/393874/102199.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102199.jpg"  width="150" height="150"    alt="Imperial Cities & Coast Tour" title="Imperial Cities & Coast 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
								</p>
								<p class="aj">Start Fez.</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> Fez
								</p>
								<p class="aj">Our Moroccan experience starts with a full day discovering Fez, the intellectual and religious heart of Morocco. Fez has many mosques and medersas (theological colleges) including the ninth century Karouine University, whose architecture is very similar to that seen in Moorish Spain. We see wonderful mosaics and carved woodwork in Medersa Bou Ananiya, a group of buildings from the fourteenth century which also include an elegant minaret overlooking Talaa Kebira. We also visit the famous medina in Fez, which is one of the largest in the world. In its immense and confusing warren of souks there are thousands of craftsmen in their tiny shops opening onto the narrow alleyways. Noisy and pungent, hot and claustrophobic, the medina of Fez is a totally absorbing and unique experience. Finally, our guide will take us to the Jewish District (mellah), the Royal Palace and a panoramic viewpoint over the medina.</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> Volubilis
								</p>
								<p class="aj">After breakfast we travel to Volubilis, a UNESCO World Heritage Site thanks to housing the largest and best preserved Roman ruins in North Africa. Despite the damage caused by the 1755 earthquake, this important Roman town managed to retain some detailed and very beautiful mosaics. Our next destination is another city that was part of the Roman Empire - the Imperial city of Meknes, originally known as Miknasa after the Berber tribe who settled here in the 10th century. We delve further into this country's amazing history as we journey from the old capital, Meknes, to the current capital of Morocco, Rabat. We visit the famous Mohammed V Mausoleum, Hassan Tower and enjoy a short break at the pretty walled Kasbah of Oudaias.</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> City Tour
								</p>
								<p class="aj">This morning we visit the exteriors of the impressive Hassan II Mosque, which displays the finest work Islamic craftsmen can produce, and we learn how historically important Casablanca was for Morocco. We then board our train in the early afternoon for our four-hour journey to Marrakech. This wonderful experience gives us time to reflect on the historically rich North and prepares us for a completely different aspect of Morocco. There is time in the evening to stretch our legs and visit the famous Djemaa el Fna Square, around which Marrakech revolves. The name literally means 'place of death', as it was where Sultans used to display the heads of their enemies. Now, with the food stalls, snake charmers, water-sellers, traveling musicians and acrobats, it is a place of entertainment for both Moroccan and overseas visitors.</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> City Tour
								</p>
								<p class="aj">We set off on a guided tour in the morning (on foot) to see the spectacular sites of Marrakech. Our city guide will take us to the Bahia Palace, the Saadian tombs, which date back to the 16th century. There is then some free time to visit the largest mosque in Marrakech, Koutoubia, and venture through the old streets of the medina to the Koranic School and the Museum of Marrakech. The afternoon is free to explore the labyrinth of souks off Djemaa el Fna Square and try some bartering techniques or simply enjoy a freshly squeezed orange juice in one of the many rooftop cafï¿½s overlooking the square.</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> Essaouira
								</p>
								<p class="aj">This morning we take the bus to the town of Essaouira for an orientation tour around this delightful old Portuguese fishing port by the Atlantic Coast. The settlement dates back to the 15th century, but the present town was constructed around 1760 by Sidi Mohammed ben Abdullah, who needed a base from which to suppress a revolt from Agadir. Today, Essaouira is extremely relaxed and its whitewashed houses with painted shutters, artisan's workshops, boatyards and fishermen provide a marked contrast to Marrakech. The afternoon allows time for some shopping, a relaxing walk (or camel ride!) along the beach, a walk to the harbour and ramparts and perhaps a boat trip.</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> Essaouira
								</p>
								<p class="aj">Today is free to continue exploring the winding back streets and coastal ramparts of Essaouira. We transfer back to Marrakech around midday leaving time for last minute shopping in Marrakech. Other optional activities include a Calï¿½che ride (bright green horse drawn carriage) to the peaceful Majorelle Gardens, which are decorated throughout in Indigo Blue and house a small Museum of Islamic Art. A final treat may simply be to try a hammam, a traditional Moroccan steam bath - a nice reward for our busy Moroccan experience.</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">Trip ends after 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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Imperial Cities & Coast 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="51956"/>
						</form>
						</div>
						
						";i:1;s:67:"Book Imperial Cities & Coast Tour - 7 Nights / 8 Days Tour Packages";i:2;s:135:"book imperial cities & coast tour - 7 nights / 8 days tour packages, heritage tour packages, marrakech, meknes, essaouira tour packages";i:3;s:186:"Book Imperial Cities & Coast Tour - 7 Nights / 8 Days tour packages from Sanskruti Vacations - Get attractive 7 Nights / 8 Days Heritage  tour packages for  Marrakech, Meknes, Essaouira.";i:4;s:428:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Marrakech, Meknes, Essaouira"        
		                 },
		      "description": "",
		      "name": "Imperial Cities & Coast Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}