Historic Castle
About This Attraction
Český Krumlov Castle is a significant historical landmark located in the town of Český Krumlov in the Czech Republic. The castle complex is one of the largest in Central Europe and features a mix of Gothic, Renaissance, and Baroque architectural styles. Visitors can explore the castle grounds, which include a garden and several courtyards. The Český Krumlov Castle opening hours vary by season, so its important to check in advance for the most current information.
The interior of the castle offers guided tours that take you through various rooms filled with historical artifacts and art collections. One of the highlights is the Castle Theatre, which is one of the oldest Baroque theaters in Europe and still hosts performances today. Additionally, visitors can enjoy panoramic views of the surrounding town and countryside from the castles tower. With its rich history and stunning architecture, Český Krumlov Castle provides an educational experience for people of all ages.
Location Details
Address
Zámek 59, 381 01 Český Krumlov, Czech Republic
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
210 CZK
Child
110 CZK
Student
160 CZK
Senior
160 CZK
Opening Hours & Booking
Open
Days
Tuesday to Sunday
Hours
9:00 AM to 5:00 PM
Seasonality
April to October
Booking
Booking Required?
Recommended
Book Your Visit
*Prices may vary. Check official website for the most up-to-date information.
Nearby Attractions
The Egon Schiele Art Centrum in Český Krumlov is a museum dedicated to the works…
Learn More
The Czech Old Town in Český Krumlov is a well-preserved historical area that attracts visitors…
Learn More
Schönbrunn Palace in Vienna is a UNESCO World Heritage Site and one of Austrias most…
Learn More
St. Stephens Cathedral in Vienna is a significant landmark that embodies the citys architectural heritage.…
Learn More
The Belvedere Museum in Vienna is renowned for its impressive collection of art, including works…
Learn More
Vintgar Gorge is a popular natural attraction located near Bled, Slovenia. It stretches approximately 1.6…
Learn More
Bled Castle is a historical fortress perched on a cliff overlooking Lake Bled in Slovenia.…
Learn More
Lake Bled is a popular tourist destination located in the town of Bled, Slovenia. The…
Learn More
Kozjak Waterfall is a stunning natural feature located near Kobarid in Slovenia. The waterfall is…
Learn More
The Kobarid Museum is located in the town of Kobarid, Slovenia, and offers a detailed…
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';
}
});
});
}
});