Login

Sign Up

After creating an account, you'll be able to track your payment status, track the confirmation and you can also rate the tour after you finished the tour.
Username*
Password*
Confirm Password*
First Name*
Last Name*
Birth Date*
Email*
Phone*
Country*
* Creating an account means you're okay with our Terms of Service and Privacy Statement.
Please agree to all the terms and conditions before proceeding to the next step

Already a member?

Login

HELISKI LASTFRONTIER

com idades

deixe em branco caso não tenha

Ao informar meus dados, eu concordo com a Política de Privacidade.

Para maiores informações, tabela de preços e reservas de Last Frontier Heliski Canadá, entre em contato.

Atenção

Este produto Last Frontier Heliski Canadá não está inserido em nosso sistema de busca online. Para maiores informações, tabela de preços e reservas, entre em contato abaixo.

Proceed Booking

document.addEventListener("DOMContentLoaded", function () { const targetPercentage = 8; // Percentual final const animationDuration = 1200; // Duração total da animação do círculo (1200ms) const skillCircle = document.getElementById('skillCircle'); const skillPercentage = document.getElementById('skillPercentage'); const skillCaption = document.getElementById('skillCaption'); let startTime; function animateSkillCircle(timestamp) { if (!startTime) startTime = timestamp; const elapsedTime = timestamp - startTime; // Calcula o progresso com easing manual const progress = Math.min(elapsedTime / animationDuration, 1); // De 0 a 1 const easedProgress = easeOutQuad(progress); // Aplicar easing const currentPercentage = easedProgress * targetPercentage; // Atualiza o gradiente do círculo skillCircle.style.background = `conic-gradient( #81d742 ${currentPercentage}%, #dcdcdc ${currentPercentage}% )`; // Atualiza a opacidade do texto (termina antes do círculo) if (progress >= 0.5) { skillPercentage.style.opacity = 1; // Aparece mais rápido skillCaption.style.opacity = 1; // Aparece mais rápido } else { skillPercentage.style.opacity = easedProgress * 2; // Ajuste para acelerar skillCaption.style.opacity = easedProgress * 2; // Ajuste para acelerar } // Continua a animação se não completou if (progress < 1) { requestAnimationFrame(animateSkillCircle); } } // Função de easing personalizada (ease-out quadrático) function easeOutQuad(t) { return t * (2 - t); // Acelera no início e desacelera no final } // Inicia a animação requestAnimationFrame(animateSkillCircle); });