a:6:{i:0;s:21526:"				<div class="h1"><h1>Greece and Turkey Tour</h1></div>
				<p class="breadcrumb ar uu small"><a href="http://www.avanitravels.net/" title="Home">Home</a> 
				
									<b class="ffv p2px">&rsaquo;</b><a href="http://www.avanitravels.net/tour-packages.htm" title="Tour Packages">Tour Packages</a>  			
									
				<b class="ffv p2px">&rsaquo;</b>Greece and Turkey 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">GT001</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Duration </td>
						<td class="p5px pl0px vat">
						8 Nights / 9 Days 
						</td>
						</tr>
												<tr>
						<td class="b p5px w125px vat">Destination Covered </td>
						<td class="p5px pl0px vat">Athens, Santorini, Istanbul</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.avanitravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Greece and Turkey 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="24583"/>
						</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_10/277951/47892.jpg"><img src="https://ttw.wlimg.com/package-images/photo-small/dir_10/277951/47892.jpg"  width="150" height="150"    alt="Atthens" title="Atthens" /></a></p></div></li>
															</ul>
						</div>
						</td>
											</tr>
					</table>
					</div>
					<br />
					
					Greece is THE land of ancient sites and architectural  treasures: the Acropolis in Athens, the amphitheater of Epidaurus, the reconstructed palace at Knossos, the belly button of the cosmos at Delphi, fallen columns galore on the sacred island of Delos, and frescoed Minoan palaces on Crete. <br />
Turkey straddles East and West, modern and traditional. Turkey bills itself, and rightfully so, as the "Cradle of Civilization," boasting more Greek ruins than Greece and more Roman archaeological sites than all of Italy<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> Athens
								</p>
								<p class="aj">Athens was named after Athena the goddess of wisdom. Scented with mythology, Athens is a sociable city enlivened by outdoor cafes, pedestrian streets, parks, gardens and urban eccentrics. Almost every house and apartment has a balcony bulging with geraniums, and many of the city's streets and squares are fringed with orange trees.</p>					
									<p><b>Meals : </b> N/A</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> Athens
								</p>
								<p class="aj">Even though you've probably come here to see the "glory that was Greece,"perhaps best symbolized by the Parthenon and the superb statues and vases in the National Archaeological Museum, your best moments may come sitting at a small cafe, sipping a tiny cup of the sweet coffee.</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> Mykonos Island
								</p>
								<p class="aj">Part of the Cyclades islands, Mykonos is a top European summer destination, offering magnificent beaches and scuba diving centers. The main town in the island is Hora, an architectural landmark where you can admire the nice Alefkandra area, called the "Little Venice".</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> Mykonos Island
								</p>
								<p class="aj">You can enjoy careless walks on the maze of alleys, as motorized traffic is prohibited in Hora. The nightlife is an essential Mykonian attraction, made of famous clubs and taverns, like the beach bars of Paradise and Paranga.</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> Santorini Island
								</p>
								<p class="aj">This volcanic archipelago is among the most spectacular worldwide. The largest island is Thera, host of a giant central lagoon surrounded by high cliffs on three sides and the small island Therasia on the fourth.</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> Santorini Island
								</p>
								<p class="aj">A magnificent view is offered by Santorini cities, from the top of the cliff over the entire lagoon, which is in fact a caldera left by a huge volcanic eruption 3500 years ago. A legend relates this eruption to the lost Atlantis. A real wonder of Santorini is the town of Akrotiri, covered by lava, but incredibly preserved under it.</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> Istanbul
								</p>
								<p class="aj">Istanbul is one of the truly great romantic cities. Istanbul is home to a layering of civilization on civilization, of empire built on empire. A stroll through this historic city will reveal ancient Roman hippodromes, peristyles, and aqueducts, the greatest excesses of the Byzantine Empire and the mystique and power of the Ottoman Empire.</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> Istanbul
								</p>
								<p class="aj">In this sprawling, continent-spanning city you can tramp the streets where crusaders and janissaries once marched; admire mosques that are the most sublime architectural expressions of Islamic piety; peer into the sultan's harem; and hunt for bargains in the Kapali Çarsi.</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 9:</b> Istanbul
								</p>
								<p class="aj">Flight back to our destination.</p>					
									<p><b>Meals : </b> Breakfast</p>
								</td>
								</tr>
								</table>					
								</div>						<br />
													<div class="headHr">
				            <p class="p7px b pl10px xlarge">Hotel Detail : </p>
				            </div>
															<div class="data lh13em p20px aj mb7px">
								<table class="w100 formTable bdr0 imgWidth">
								<tr>
								<td class="p10px"><p class="fr lh0">
								
																	<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																		<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																	
								</p>
								<div class="mb5px">
								<h2 class="dif b xxlarge">New Hotel   - Athens</h2>
								</div>
								<p class="cb"></p>
								<p><b>Address :</b> Athens, Greece</p>
								<p><b>Facility :</b> </p>
								<div class="mt7px">Rooms: 79 
CENTRALLY LOCATED, FREE WIFI, AIR-CON, PARKING (FEES APPLY), LIFTS, SPACIOUS ROOMS, ATTENTIVE SERVICE, FRIENDLY STAFF. The New hotel is located very near to Constitution Square just beyond Plaka, the oldest part of Athens adjacent to the Acropolis and its new museum. It is a centrally located hotel that has easy access to the main business, shopping and attractions area, with multiple restuarants and bars nearby. It is 19 miles to the airport (Athens International), a 6 minute walk to the nearest train, metro, tram and bus station (Constitution), and a few steps to nearby bus and tram stops.

</div>
								</td>
								
																
								</tr>
								</table>
								</div>
																	<div id="show_more_content" style="display:none;">
																		<div class="data lh13em p20px aj mb7px">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px"><p class="fr lh0">
									
																			<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																			
									</p>
									<div class="mb5px">
									<h2 class="dif b xxlarge">New Hotel   - Athens</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> Athens, Greece</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">Rooms: 79 
CENTRALLY LOCATED, FREE WIFI, AIR-CON, PARKING (FEES APPLY), LIFTS, SPACIOUS ROOMS, ATTENTIVE SERVICE, FRIENDLY STAFF. The New hotel is located very near to Constitution Square just beyond Plaka, the oldest part of Athens adjacent to the Acropolis and its new museum. It is a centrally located hotel that has easy access to the main business, shopping and attractions area, with multiple restuarants and bars nearby. It is 19 miles to the airport (Athens International), a 6 minute walk to the nearest train, metro, tram and bus station (Constitution), and a few steps to nearby bus and tram stops.

</div>
									</td>
									
																		
									</tr>
									</table>
									</div>
																		<div class="data lh13em p20px aj mb7px">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px"><p class="fr lh0">
									
																			<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																			
									</p>
									<div class="mb5px">
									<h2 class="dif b xxlarge">Mykonos Grand Hotel And Resort , Mykonos Isand</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> Mykonos, Greece</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">Rooms: 107 

QUIETLY LOCATED NEXT TO THE SEA, STUNNING PANORAMIC VIEWS, AIR CONDITIONING , FREE PRIVATE PARKING, LIFT, FREE WIFI  ACCESS, SWIMMING POOLS , ATTENTIVE SERVICE, SPACIOUS ROOMS. The Mykonos Grand Hotel and Resort is located in the romantic and unique area of Agios Ioannis, next to the azure Aegean Sea, the inviting golden sands of its beach and the quiet, calm lifestyle. Guests will be able to find archeological sites, restaurants and bars in the nearby area. For those wanting to experiment the lively and world-known nightlife of the capital, Mykonos Town is 3 miles away. It is situated 3 miles away from the airport (Mykonos Island National Airport), 3 mile to Mykonos town and its port, and a 5 minute walk to a small nearby port with taxy boats. 
</div>
									</td>
									
																		
									</tr>
									</table>
									</div>
																		<div class="data lh13em p20px aj mb7px">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px"><p class="fr lh0">
									
																			<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																			
									</p>
									<div class="mb5px">
									<h2 class="dif b xxlarge">Astra Suites Santorini</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> Santorini, Greece</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">Property Style: Boutique Design Suite Hotel  
Rooms: 27 
LOCATED IN THE WEST SIDE OF THE ISLAND, OVERLOOKING THE CALDERA, VIEWS OF THE SEA, SKAROS AND THE VOLCANO; FREE WIFI  ACCESS, SWIMMING POOL, AIR CONDITIONING , FREE NEARBY PUBLIC PARKING. The Astra Suites Santorini is located right in the cliffside of Imerovigli, overlooking the caldera, with stuning views of the Aegean Sea, the volcano and the Skaros promontory, with its medieval castle jutting into the sea. Near to the hotel, guests will find restaurants and markets, as well as bus stops, car rental and taxi services. Fira town is just a mile away from the hotel as is the nearest Harbour (Fira Old Port), and the airport (Thira National Airport) is 5 miles away from the hotel.

</div>
									</td>
									
																		
									</tr>
									</table>
									</div>
																		<div class="data lh13em p20px aj mb7px">
									<table class="w100 formTable bdr0 imgWidth">
									<tr>
									<td class="p10px"><p class="fr lh0">
									
																			<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_on.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																				<img class="vam" src="https://static.tourtravelworld.com/images/star_ratings_off.png" alt=""/>
																			
									</p>
									<div class="mb5px">
									<h2 class="dif b xxlarge">Neorion. Istanbul,turkey</h2>
									</div>
									<p class="cb"></p>
									<p><b>Address :</b> Greece</p>
									<p><b>Facility :</b> </p>
									<div class="mt7px">Property Style: City hotel  | Historic hotel | Charming hotel 
Rooms: 58 
IDEAL CENTRAL LOCATION IN THE OLD TOWN, AIR CONDITIONING, FREE WI-FI, EXCELLENT SERVICE WITH FRIENDLY STAFF. Neorion is more than just a comfortable travelers' refuge in the heart of the city. It was conceived and designed to honor and reflect all of the cultures who have enriched the city. The hotel  is located just 10 minutes walking distance from Haghia Sophia, Topkapý Palace, Blue Mosque, Underground Cistern, Spice Market, Archeology Museum and Grand Bazaar; just 20 minutes from Taksim Square and Galata Tower; and 10 minutes from the Piers
</div>
									</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.avanitravels.net/enquiry-form-10002.htm">
						<input type="hidden" name="subject" value="Greece and Turkey 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="24583"/>
						</form>
						</div>
						
						";i:1;s:61:"Book Greece and Turkey Tour - 8 Nights / 9 Days Tour Packages";i:2;s:137:"book greece and turkey tour - 8 nights / 9 days tour packages, forts and palaces tour packages, athens, santorini, istanbul tour packages";i:3;s:182:"Book Greece and Turkey Tour - 8 Nights / 9 Days tour packages from Avani Travels - Get attractive 8 Nights / 9 Days Forts and Palaces  tour packages for  Athens, Santorini, Istanbul.";i:4;s:935:"
			<script type="application/ld+json">
		    {
		      "@context": "https://schema.org",
		      "@type": "TouristAttraction",
		      "address": {
		        "@type": "PostalAddress",
		         "addressRegion": "Athens, Santorini, Istanbul"        
		                 },
		      "description": "Greece is THE land of ancient sites and architectural  treasures: the Acropolis in Athens, the amphitheater of Epidaurus, the reconstructed palace at Knossos, the belly button of the cosmos at Delphi, fallen columns galore on the sacred island of Delos, and frescoed Minoan palaces on Crete. 
Turkey straddles East and West, modern and traditional. Turkey bills itself, and rightfully so, as the "Cradle of Civilization," boasting more Greek ruins than Greece and more Roman archaeological sites than all of Italy",
		      "name": "Greece and Turkey Tour",
		      "telephone": "+91-9970119645"
		    }
		    </script>
			";i:5;N;}