Cathedral
About This Attraction
St. Tryphon Cathedral is a significant historical site located in Kotor, Montenegro. Built in 1166, it stands as one of the oldest and most notable Roman Catholic cathedrals on the Adriatic coast. The cathedrals architecture features a blend of Romanesque and Gothic styles, making it an interesting spot for architectural enthusiasts. Inside, visitors can view various religious artifacts and frescoes that provide insight into its storied past.
For those planning to visit, its important to check St. Tryphon Cathedral opening hours to ensure a well-timed trip. Typically, the cathedral is open to tourists during the day, although times may vary depending on the season. The entrance fee is modest, making it accessible to many visitors interested in learning more about Kotors cultural heritage. This historic landmark offers a glimpse into the citys history while serving as an active place of worship for locals.
Location Details
Address
Trg Sv. Tripuna, 85330 Kotor, Montenegro
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
3 EUR
Child
Free
Student
2 EUR
Senior
2 EUR
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
9:00 AM to 6:00 PM
Seasonality
Year-round
Booking
Booking Required?
No
Nearby Attractions
Kotor Old Town is a well-preserved medieval town located in Montenegro, known for its winding…
Learn More
The Bay of Kotor is a stunning coastal region located in southwestern Montenegro. Known for…
Learn More
Lokrum Island, located just a short ferry ride from Dubrovnik, Croatia, offers visitors a peaceful…
Learn More
Old Town in Dubrovnik is a historical area surrounded by well-preserved medieval walls. These walls…
Learn More
The City Walls of Dubrovnik are one of the most prominent features of this historic…
Learn More
The Blagaj Tekke is a historic Dervish monastery located near the town of Mostar in…
Learn More
Stari Most, also known as the Old Bridge, is a significant historical landmark in Mostar,…
Learn More
The Koski Mehmed Pasha Mosque is an important historical site located in Mostar, Bosnia and…
Learn More
The Marco Polo Museum in Korčula is dedicated to the life and travels of the…
Learn More
Korčula Old Town is a charming historic area located on the island of Korčula 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';
}
});
});
}
});