Public Square
About This Attraction
Aristotelous Square is a central landmark in Thessaloniki, Greece, known for its impressive architecture and vibrant public life. Designed by French architect Ernest Hébrard in 1918, the square features neoclassical buildings and expansive open spaces. Visitors often enjoy the cafes and shops lining the square while taking in views of the Thermaic Gulf.
The square hosts various cultural events throughout the year, making it a lively hub for both locals and tourists. Although there are no specific Aristotelous Square opening hours since it is a public space, nearby businesses typically operate from morning until late evening. The area is easily accessible by public transportation or on foot, allowing for convenient visits at any time.
Location Details
Address
Aristotelous Square, Thessaloniki, Greece
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Every day
Hours
Open 24 hours
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Ano Poli, the Upper Town of Thessaloniki, is known for its historical significance and scenic…
Learn More
The White Tower in Thessaloniki is a prominent historical monument and museum located on the…
Learn More
The Archaeological Museum of Thessaloniki is a prominent cultural institution located in Greece. It houses…
Learn More
Pirin National Park, located in Bansko, Bulgaria, is a UNESCO World Heritage site known for…
Learn More
Bansko Ski Resort, located in Bulgaria, is a popular destination for winter sports enthusiasts. The…
Learn More
The Rotunda in Thessaloniki, Greece, is an impressive architectural structure with a fascinating history. Constructed…
Learn More
The Asklepion in Kos is an ancient healing temple dedicated to Asclepius, the Greek god…
Learn More
Vitosha Boulevard is a major shopping street in Sofia, Bulgaria, known for its array of…
Learn More
The National Palace of Culture in Sofia, Bulgaria, is a multifunctional conference and exhibition center.…
Learn More
Alexander Nevsky Cathedral in Sofia, Bulgaria, is one of the largest Eastern Orthodox cathedrals in…
Learn More
";
}
// Initialize modal controls
const initModalControls = function() {
console.log('Initializing modal controls');
const modal = document.getElementById('attraction-modal');
const closeBtn = document.querySelector('.attraction-modal-close');
if (closeBtn) {
closeBtn.addEventListener('click', function() {
modal.style.display = 'none';
document.body.style.overflow = '';
});
}
window.addEventListener('click', function(event) {
if (event.target === modal) {
modal.style.display = 'none';
document.body.style.overflow = '';
}
});
// Make attraction cards clickable
const attractionCards = document.querySelectorAll('.attraction-card');
console.log('Found ' + attractionCards.length + ' attraction cards');
attractionCards.forEach(card => {
card.addEventListener('click', function(e) {
openModalWithCardData(this);
});
});
};
// Function to open modal with card data
const openModalWithCardData = function(card) {
// Get data from hidden div
const data = card.querySelector('.attraction-full-data');
if (!data) {
console.error('No attraction data found in card');
return;
}
const modal = document.getElementById('attraction-modal');
if (!modal) {
console.error('Modal element still not found after creation attempt');
return;
}
// Helper function to safely get element text
function getElementText(selector) {
const element = data.querySelector(selector);
return element ? element.textContent : '';
}
try {
// Basic Info
document.getElementById('attraction-modal-title').textContent = getElementText('.attraction-name');
document.getElementById('attraction-modal-type').textContent = getElementText('.attraction-type-full');
document.getElementById('attraction-modal-description').textContent = getElementText('.attraction-description-full');
// Reset all containers to hidden
['attraction-modal-hours-container', 'attraction-modal-price-container',
'attraction-modal-address-container', 'attraction-modal-image-container'].forEach(id => {
const container = document.getElementById(id);
if (container) container.style.display = 'none';
});
// Rating
const ratingText = getElementText('.attraction-rating-full');
if (ratingText) {
const ratingValue = parseFloat(ratingText);
if (!isNaN(ratingValue)) {
const ratingValueEl = document.getElementById('attraction-modal-rating-value');
const ratingFillEl = document.getElementById('attraction-modal-rating-fill');
if (ratingValueEl) ratingValueEl.textContent = ratingValue.toFixed(1) + '/10';
if (ratingFillEl) ratingFillEl.style.width = (ratingValue * 10) + '%';
}
}
// Show the modal
modal.style.display = 'block';
document.body.style.overflow = 'hidden'; // Prevent background scrolling
console.log('Modal opened successfully');
} catch (error) {
console.error('Error opening modal:', error);
}
};
// Try to create the modal
const created = createModal();
console.log('Modal created:', created);
// If not created (already exists), initialize the controls
if (!created) {
initModalControls();
}
// Also initialize distance toggle
const distanceToggle = document.getElementById('distance-unit-toggle');
if (distanceToggle) {
distanceToggle.addEventListener('change', function() {
const showKm = this.checked;
// Update toggle labels
const labels = document.querySelectorAll('.toggle-label');
if (labels.length >= 2) {
labels[0].style.opacity = showKm ? '0.5' : '1';
labels[1].style.opacity = showKm ? '1' : '0.5';
}
// Update all distance displays
document.querySelectorAll('.nearby-attraction-card').forEach(card => {
const kmEl = card.querySelector('.distance-km');
const miEl = card.querySelector('.distance-mi');
if (kmEl && miEl) {
kmEl.style.display = showKm ? 'inline' : 'none';
miEl.style.display = showKm ? 'none' : 'inline';
}
});
});
}
});