Natural Formation
About This Attraction
Kicker Rock, also known as León Dormido, is a prominent volcanic formation located off the coast of San Cristóbal Island in the Galapagos. It features two towering rock formations that rise dramatically from the ocean, making it a popular spot for snorkeling and diving enthusiasts. Marine life around Kicker Rock is abundant, with opportunities to see sea turtles, rays, and various species of sharks. The area is also known for its diverse bird population, including frigatebirds and blue-footed boobies.
Visiting Kicker Rock typically involves a boat tour from San Cristóbal Island, as there are no visitor facilities directly on the rock itself. While there are no official Kicker Rock opening hours, tours usually operate during daylight to take advantage of the best visibility for observing marine life. It is essential to book these excursions through authorized tour operators who provide necessary guidance and equipment. Safety briefings are common before entering the water, ensuring an enjoyable and secure experience for all visitors.
Location Details
Address
Off the coast of San Cristóbal Island, Galapagos, Ecuador
Visitor Information
Pricing & Ratings
Ticket Prices
Adult
$150
Child
$120
Student
$130
Senior
$140
Opening Hours & Booking
Open
Days
Daily
Hours
Accessible via tours
Seasonality
Year-round
Booking
Booking Required?
Yes
Book Your Visit
*Prices may vary. Check official website for the most up-to-date information.
Nearby Attractions
The Charles Darwin Research Station, located on Santa Cruz Island in the Galapagos, serves as…
Learn More
Tortuga Bay is a popular destination located on Santa Cruz Island in the Galapagos Islands.…
Learn More
Bartolome Island is a small volcanic island in the Galapagos Islands, known for its stunning…
Learn More
Los Tuneles, located on Isabela Island in the Galapagos, is a fascinating destination known for…
Learn More
Tungurahua Volcano is an active stratovolcano located near the town of Baños in Ecuador. Known…
Learn More
Casa del Arbol, located in Baños, Ecuador, is a popular tourist destination known for its…
Learn More
Pailon del Diablo, located near Baños, Ecuador, is a popular waterfall known for its impressive…
Learn More
Ciudad Encantada, located near Cuenca in Spain, is a natural site renowned for its unique…
Learn More
Cuenca Cathedral, also known as the Cathedral of Santa María and San Julián, is a…
Learn More
The Hanging Houses, or Casas Colgadas, are a remarkable architectural sight in Cuenca, Spain. Perched…
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';
}
});
});
}
});