Ski Resort
About This Attraction
Bansko Ski Resort, located in Bulgaria, is a popular destination for winter sports enthusiasts. The resort boasts a variety of ski slopes suitable for beginners and advanced skiers alike. Bansko also offers modern lift facilities to ensure smooth access to the slopes. In addition, visitors can enjoy other activities such as snowboarding and ice skating, making it a versatile choice for families.
For those seeking Bansko Ski Resort travel information, its important to note that the town provides numerous accommodation options ranging from hotels to guesthouses. The resort is well-connected by road and offers easy access to Sofia Airport, which is approximately 160 km away. Moreover, the town itself is known for its charming atmosphere and the availability of local cuisine in various restaurants. This combination of skiing opportunities and local culture makes Bansko an attractive destination during the winter season.
Location Details
Address
Bansko, 2770, Bulgaria
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
80 BGN
Child
50 BGN
Student
70 BGN
Senior
70 BGN
Opening Hours & Booking
Open
Days
Monday to Sunday
Hours
08:30 AM to 05:00 PM
Seasonality
December to April
Booking
Booking Required?
Recommended
Book Your Visit
*Prices may vary. Check official website for the most up-to-date information.
Nearby Attractions
Pirin National Park, located in Bansko, Bulgaria, is a UNESCO World Heritage site known for…
Learn More
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
Alexander Nevsky Cathedral in Sofia, Bulgaria, is one of the largest Eastern Orthodox cathedrals in…
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 Archaeological Museum of Thessaloniki is a prominent cultural institution located in Greece. It houses…
Learn More
The White Tower in Thessaloniki is a prominent historical monument and museum located on the…
Learn More
Holy Trinity Church in Bansko is one of the towns most significant landmarks, known for…
Learn More
The Rotunda in Thessaloniki, Greece, is an impressive architectural structure with a fascinating history. Constructed…
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';
}
});
});
}
});