a:6:{i:0;s:13450:"				<div class="h1"><h1>Moorish Spain & Morocco 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>Moorish Spain & Morocco 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">
						11 Nights / 12 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Marrakech, Rabat, Ronda, Fes</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.sanskrutivacations.in/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Moorish Spain & Morocco 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="52368"/>
						</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/102682.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_14/393874/102682.jpg"  width="150" height="150"    alt="Moorish Spain & Morocco Tour" title="Moorish Spain & Morocco 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">Arrive at our hotel in Malaga.</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> Granada
								</p>
								<p class="aj">We take a public bus this morning to the historic city of Granada, situated at the foot of the Sierra Nevada Mountains. After an orientation tour, there will be time to fully explore the Albaicin gypsy quarter, the Moorish baths and Capilla Real, resting place of the Catholic monarchs who ended Moorish rule in Spain. We also recommend a visit to the Alhambra Palace, the most visited monument in Spain (optional). Considering its popularity, tickets should be prebooked for the afternoon 2pm session and directly with the Alhambra.</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> Ronda
								</p>
								<p class="aj">Our next destination is Ronda, renowned for its Three Bridges and Corrida Goyesca one of the oldest bullring in Spain. This Andalucian city was also admired by Ernest Hemingway and Orson Welles who understandably spent many summers here. We also visit the beautiful White Village of Setenil de la Bodegas, set amid Andalucia's rolling hills. After a wander through the narrow streets of this quaint village, there is the option to enjoy lunch at a traditional bodega and try the famous chorizo from the area.</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> Grazalema National Park
								</p>
								<p class="aj">We transfer to the stunning Grazalema National Park for a gentle walk through rolling olive groves and a relaxing break from the city. After a couple of hours walking we pause for lunch and then continue for a scenic drive through the mountains to Zahara to explore the village and the sights from this beautiful village on the mountain top. We return to Ronda in the evening.</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> Ronda
								</p>
								<p class="aj">After a short transfer to Ronda train station, we board our train to Algeciras for an exciting ferry journey across to Morocco. We arrive in Tangier and transfer to the historical town of Chefchaouen, famous for its white-washed houses with distinctive, powder-blue accents.</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> Chefchouen
								</p>
								<p class="aj">Morning tour Chefchouen, situated in the Rif Mountains. The city founded by Moorish exiles from Spain in 1471, this small settlement was first built as a fortress to fight the Portuguese invasions of northern Morocco. Many sought refuge here in mediaeval times and although the Spanish seized Chefchaouen in 1920, it was returned in 1956 after the independence of Morocco.</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> labyrinths
								</p>
								<p class="aj">After a morning guided tour of the labyrinths and alleyways of Morocco's thrid largest city, including a visit to the Andalucian Quarter. The afternoon is free to discover more of the intellectual and religious heart of Morocco. Fez has many mosques and medersas (theological colleges) including the 9th century Karouine University, whose architecture is very similar to that seen in Moorish Spain. The famous medina in Fes is one of the largest in the world and 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 Fes is a totally absorbing and unique 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> Roman
								</p>
								<p class="aj">A short transfer this morning takes us to the Roman site of 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. We delve further into this country's amazing history as we journey to the capital of Morocco, Rabat.With an orientation walk around the city including a short break at the pretty walled Kasbah des Oudaias. Transfer to Casablanca where we overnight.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 9:</b> Marrakech
								</p>
								<p class="aj">Today, we head south, boarding our train in the morning for the 4-hour journey to Marrakech, This wonderful experience gives us time to reflect on all that we have seen and prepares us for a completely different aspect of Morocco. Our journey continues another 1.5 hours into the breathtaking Atlas Mountains, where we settle into a relaxed evening at our characterful gite in Tachedirt.</p>
								</td>
								</tr>
								</table>					
								</div>
								<div class="data">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px vat">
								<p class="b large mb5px"><b class="dif">Day 10:</b> Toubkal
								</p>
								<p class="aj">We take the chance to stretch the legs this morning and enjoy a gentle walk in the foothills of Toubkal, Morocco's highest mountain at a towering 4167m. We return to Marrakech in the afternoon so we can enjoy a visit to 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, juice-sellers, travelling musicians and acrobats, it is a place of entertainment for both Moroccan and overseas visitors.</p>
								</td>
								</tr>
								</table>					
								</div><div id="show_more_content" style="display:none;">
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 11:</b> Marrakech
									</p>
									<p class="aj">Today is free to explore the souks, palaces and mosques of 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 to complete our adventure on these two continents.</p>
									</td>	
									</tr>
									</table>				
									</div>
									<div class="data">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px vat">
									<p class="b large mb5px"><b class="dif">Day 12:</b> Departure
									</p>
									<p class="aj">Our trip ends after breakfast.</p>
									</td>	
									</tr>
									</table>				
									</div>					
							</div>							<p class="mt10px ac"><a class="buttonBig p5px10px dib b" id="more_button" href="javascript:topDestinationToggle('show_more_content','more_button');" >View More &#9660;</a></p>
													<br />
												 <p class="headHr p7px b pl10px xlarge">Tour Detail</p>
			             <div class="data p15px aj">
										
						<p class="large b mb5px dif">Inclusions :</p>
						<ul>
															<li>Hotel</li>
															</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="Moorish Spain & Morocco 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="52368"/>
						</form>
						</div>
						
						";i:1;s:69:"Book Moorish Spain & Morocco Tour - 11 Nights / 12 Days Tour Packages";i:2;s:146:"book moorish spain & morocco tour - 11 nights / 12 days tour packages, forts and palaces tour packages, marrakech, rabat, ronda, fes tour packages";i:3;s:182:"Sanskruti Vacations offers Moorish Spain & Morocco Tour - 11 Nights / 12 Days tour package, budget Forts and Palaces tour packages for Marrakech, Rabat, Ronda, Fes at exciting price.";i:4;s:428:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Marrakech, Rabat, Ronda, Fes"        
		                 },
		      "description": "",
		      "name": "Moorish Spain & Morocco Tour",
		      "telephone": "+91-9769880881"
		    }
		    </script>
			";i:5;N;}