Cathedral
About This Attraction
Alexander Nevsky Cathedral in Sofia, Bulgaria, is one of the largest Eastern Orthodox cathedrals in the world. The cathedral was built to honor the Russian soldiers who died during the Russo-Turkish War of 1877-1878 and stands as a symbol of Bulgarian gratitude. Its impressive exterior features a combination of Neo-Byzantine architecture and stunning gold-plated domes. Inside, visitors can admire intricate frescoes and a large collection of religious icons that reflect Bulgarias cultural heritage.
For those planning to visit, its helpful to know that Alexander Nevsky Cathedral opening hours typically start in the morning and continue until late afternoon. The cathedral is located in the center of Sofia, making it easily accessible by public transport or on foot from other attractions. It often serves as a venue for important national and religious events. While entry is free, donations are appreciated to support its maintenance. Remember to dress modestly out of respect for this sacred place.
Location Details
Address
pl. Aleksandar Nevski, 1000 Sofia Center, Sofia, Bulgaria
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
Free
Child
Free
Student
Free
Senior
Free
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
7:00 AM to 7:00 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
The National Palace of Culture in Sofia, Bulgaria, is a multifunctional conference and exhibition center.…
Learn More
Vitosha Boulevard is a major shopping street in Sofia, Bulgaria, known for its array of…
Learn More
Bansko Ski Resort, located in Bulgaria, is a popular destination for winter sports enthusiasts. The…
Learn More
Pirin National Park, located in Bansko, Bulgaria, is a UNESCO World Heritage site known for…
Learn More
Holy Trinity Church in Bansko is one of the towns most significant landmarks, known for…
Learn More
Ano Poli, the Upper Town of Thessaloniki, is known for its historical significance and scenic…
Learn More
Aristotelous Square is a central landmark in Thessaloniki, Greece, known for its impressive architecture and…
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
The Burgas Archaeological Museum is located in Burgas, Bulgaria, and offers visitors a comprehensive view…
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';
}
});
});
}
});