Better public pages style
This commit is contained in:
@@ -24,7 +24,7 @@
|
||||
<li class="mb-2"><i class="fas fa-check text-success me-2"></i>Email support</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="{{ contact_url }}" class="btn btn-outline-primary w-100 mt-auto">Get Started</a>
|
||||
<a href="{{ contact_url }}" class="btn btn-outline-primary btn-lg w-100 mt-auto px-4 py-3">Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -51,7 +51,7 @@
|
||||
<li class="mb-2"><i class="fas fa-check text-success me-2"></i>Priority support</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="{{ contact_url }}" class="btn btn-primary w-100 mt-auto">Get Started</a>
|
||||
<a href="{{ contact_url }}" class="btn btn-primary btn-lg w-100 mt-auto px-4 py-3">Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -73,7 +73,7 @@
|
||||
<li class="mb-2"><i class="fas fa-check text-success me-2"></i>24/7 dedicated support</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="{{ contact_url }}" class="btn btn-outline-primary w-100 mt-auto">Get Started</a>
|
||||
<a href="{{ contact_url }}" class="btn btn-outline-primary btn-lg w-100 mt-auto px-4 py-3">Get Started</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -92,7 +92,7 @@
|
||||
<li class="mb-2"><i class="fas fa-check text-success me-2"></i>Dedicated account manager</li>
|
||||
</ul>
|
||||
</div>
|
||||
<a href="{{ contact_url }}" class="btn btn-outline-primary w-100 mt-auto">Contact Sales</a>
|
||||
<a href="{{ contact_url }}" class="btn btn-outline-primary btn-lg w-100 mt-auto px-4 py-3">Contact Sales</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -126,18 +126,62 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
.form-check-input:focus {
|
||||
box-shadow: 0 0 0 0.25rem rgba(var(--primary-color-rgb), 0.25) !important;
|
||||
}
|
||||
|
||||
.price-number {
|
||||
display: inline-block;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
`;
|
||||
document.head.appendChild(style);
|
||||
|
||||
// Function to animate number counting
|
||||
function animateNumber(element, startValue, endValue, duration = 500) {
|
||||
const start = performance.now();
|
||||
const difference = endValue - startValue;
|
||||
|
||||
function updateNumber(currentTime) {
|
||||
const elapsed = currentTime - start;
|
||||
const progress = Math.min(elapsed / duration, 1);
|
||||
|
||||
// Easing function for smooth animation
|
||||
const easeOutQuart = 1 - Math.pow(1 - progress, 4);
|
||||
const currentValue = startValue + (difference * easeOutQuart);
|
||||
|
||||
element.textContent = '€' + Math.round(currentValue);
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(updateNumber);
|
||||
} else {
|
||||
// Ensure the final value is correct
|
||||
element.textContent = '€' + endValue;
|
||||
}
|
||||
}
|
||||
|
||||
requestAnimationFrame(updateNumber);
|
||||
}
|
||||
|
||||
billingToggle.addEventListener('change', function() {
|
||||
if (this.checked) {
|
||||
// Show annual prices
|
||||
monthlyPrices.forEach(price => price.style.display = 'none');
|
||||
annualPrices.forEach(price => price.style.display = 'inline');
|
||||
// Switch to annual prices with animation
|
||||
monthlyPrices.forEach((price, index) => {
|
||||
const monthlyValue = parseInt(price.textContent.replace('€', ''));
|
||||
const annualValue = parseInt(annualPrices[index].textContent.replace('€', ''));
|
||||
|
||||
// Store the original monthly value for later use
|
||||
price.setAttribute('data-original-monthly', monthlyValue);
|
||||
|
||||
// Simply animate the number change
|
||||
animateNumber(price, monthlyValue, annualValue);
|
||||
});
|
||||
} else {
|
||||
// Show monthly prices
|
||||
monthlyPrices.forEach(price => price.style.display = 'inline');
|
||||
annualPrices.forEach(price => price.style.display = 'none');
|
||||
// Switch to monthly prices with animation
|
||||
monthlyPrices.forEach((price, index) => {
|
||||
const currentValue = parseInt(price.textContent.replace('€', ''));
|
||||
const originalMonthlyValue = parseInt(price.getAttribute('data-original-monthly'));
|
||||
|
||||
// Simply animate the number change back to monthly
|
||||
animateNumber(price, currentValue, originalMonthlyValue);
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user