Workshop Formazione Calcio – Metodo Scientifico per Performance /_sdk/element_sdk.js https://cdn.tailwindcss.com body { box-sizing: border-box; } .gradient-bg { background: linear-gradient(135deg, #202020 0%, #333333 50%, #404040 100%); } .card-hover { transition: all 0.3s ease; } .card-hover:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); } .pulse-animation { animation: pulse 2s infinite; } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .feature-icon { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; margin: 0 auto 16px; } .countdown-box { animation: countdownPulse 2s infinite; transition: all 0.3s ease; } .countdown-box:hover { transform: scale(1.05); box-shadow: 0 0 20px rgba(255, 255, 255, 0.3); } .countdown-number { text-shadow: 2px 2px 4px rgba(0,0,0,0.5); transition: all 0.5s ease; } .countdown-progress { transition: width 1s ease-in-out; } @keyframes countdownPulse { 0%, 100% { box-shadow: 0 0 10px rgba(239, 68, 68, 0.5); border-color: #ef4444; } 50% { box-shadow: 0 0 25px rgba(239, 68, 68, 0.8); border-color: #fbbf24; } } .countdown-urgent { animation: urgentFlash 1s infinite; } @keyframes urgentFlash { 0%, 100% { background-color: #b91c1c; } 50% { background-color: #dc2626; } } .time-running-out { animation: shake 0.5s infinite; } @keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-2px); } 75% { transform: translateX(2px); } } @view-transition { navigation: auto; } /_sdk/data_sdk.js

Vuoi Migliorare la Performance della Tua Squadra?

Per migliorare la performance devi conoscere il metodo scientifico e saperlo applicare

📅 Workshop Online
29 Novembre 2025
Dalle 14:00 alle 18:00
🔥 Solo 30 posti disponibili
Allenatori
💪
Atleti
📊
Preparatori atletici
Iscriviti al Workshop

Struttura del Corso

🎯

Workshop Online (4 ore)

Workshop tecnico e accessibile a tutti, dove Andrea condividerà strategie, metodologie e correlazioni pratiche per:

  • Allenamento di forza, potenza, velocità e pliometria al campo senza attrezzature
  • Comprensione e capacità di creare programmi di allenamento efficaci in poco tempo
  • Principi fondamentali della biomeccanica della corsa e dell’allenamento della velocità
  • Principi fondamentali dell’allenamento della pliometria
  • Esempi di schede pratiche di allenamento efficienti da fare in 20′ e 30′
🎁

Vantaggi Esclusivi

Dopo aver completato il workshop riceverai vantaggi esclusivi per continuare il tuo percorso di formazione.

🎟️ Coupon Esclusivi (Uso Singolo):

  • 💰 Sconto Materiali: Coupon del 30% per l’acquisto di materiale formativo sul nostro sito
  • 🎯 Workshop Futuro: Coupon del 25% per il prossimo workshop avanzato
  • Accesso Prioritario: Iscrizione anticipata ai nuovi eventi formativi

Perché Scegliere Questo Workshop

🔬

Metodo Scientifico

Approccio basato su evidenze scientifiche e dati concreti per massimizzare i risultati

Applicabile Subito

Strategie pratiche che puoi implementare immediatamente con la tua squadra

🎯

Personalizzato

Vantaggi esclusivi e coupon per continuare il tuo percorso formativo

Andrea Casarotti

👨‍🏫

Personal Trainer certificato specializzato in strength & power training, fondatore di The Key Sports

Andrea è un professionista riconosciuto nel campo della preparazione atletica e dell’allenamento scientifico. Con anni di esperienza sul campo, ha sviluppato metodologie innovative per ottimizzare le performance degli atleti.

La sua approccio si basa su evidenze scientifiche concrete e applicazioni pratiche immediate, permettendo a allenatori e staff tecnici di ottenere risultati misurabili e duraturi.

Autore di due libri pubblicati e disponibili su Amazon, Andrea ha condiviso la sua esperienza e metodologie con migliaia di professionisti del settore, consolidando la sua reputazione come esperto di riferimento nell’allenamento basato su evidenze scientifiche.

📚 Metodo TKS
🔬 Approccio Scientifico
⚽ Esperienza Sul Campo
📖 Autore di 2 Libri

Prezzi e Sconti

🚨 EARLY BIRD: SCONTO 15% 🚨

Offerta valida solo fino al 7 Novembre 2025

🔥 Solo 7 posti su 30 rimasti!
SCONTO SCADE TRA:
00
GIO
00
Ore
00
Min
00
Sec

⚡ DOPO IL 7 NOVEMBRE PREZZO INTERO! ⚡

Approfitta subito del 15% di sconto

👤

Iscrizione Singola

49,90€
42,42€
EARLY BIRD -15%

Perfetto per singoli professionisti che vogliono migliorare le proprie competenze

  • Workshop completo di 4 ore
  • Materiali didattici inclusi
  • Coupon sconto post-workshop
Iscriviti Singolarmente
PIÙ CONVENIENTE
👥

Pacchetto Società

149,90€
127,42€
EARLY BIRD -15%
Minimo 4 persone

Ideale per staff tecnici completi che vogliono formarsi insieme

  • 4 partecipanti inclusi
  • Risparmio del 25% vs singoli
  • Formazione coordinata del team
  • Coupon sconto per tutti
Iscriviti come Società

Membri Aggiuntivi

39,90€
33,92€
EARLY BIRD -15%
Per ogni persona oltre le 4 del pacchetto

Aggiungi altri membri del tuo staff al pacchetto società

  • Solo per pacchetti società
  • Prezzo scontato del 20%
  • Stessi vantaggi del team
Aggiungi Membri

💡 Confronto Convenienza Early Bird

4 Iscrizioni Singole (Prezzo Normale):

4 × 49,90€ = 199,60€

4 Iscrizioni Singole (Early Bird):

4 × 42,42€ = 169,68€

Pacchetto Società (Early Bird):

127,42€ – Risparmi 72,18€!

🔥 Con Early Bird + Pacchetto Società risparmi il 36%!

Pronto a Rivoluzionare la Performance della Tua Squadra?

Unisciti al workshop e scopri come applicare il metodo scientifico per ottenere risultati concreti e misurabili

📅 Data del Workshop

29 Novembre 2025

Workshop Online – Dalle 14:00 alle 18:00

🔥 Solo 30 posti disponibili!

🚨 ATTENZIONE: TEMPO LIMITATO! 🚨

Le iscrizioni chiudono il 25 Novembre 2025

🔥 Solo 30 posti disponibili – Affrettati!

MANCANO SOLO:
00
GIO
00
Ore
00
Min
00
Sec

⚡ DOPO QUESTA DATA NON POTRAI PIÙ ISCRIVERTI! ⚡

Non perdere l’opportunità di trasformare la performance della tua squadra

🔥 Ultimi posti disponibili
Iscriviti Ora

Hai Domande?

Contatta direttamente Andrea per ricevere tutte le informazioni di cui hai bisogno

📱

Contatta Andrea

Risposta rapida su WhatsApp

💬 Scrivi direttamente ad Andrea per:

  • Chiarimenti sui contenuti del workshop
  • Informazioni sui pacchetti società
  • Supporto per l’iscrizione
  • Domande tecniche sul metodo TKS
💬 Scrivi su WhatsApp

📞 +39 346 748 2113 • Risposta entro 24h

Workshop di Andrea Casarotti

Metodo TKS – Formazione professionale per staff tecnici

📧 Supporto dedicato 📖 Ebook gratuito di Andrea Catarotti 📚 Materiali didattici

💬 Per informazioni: WhatsApp +39 346 748 2113

const defaultConfig = { main_title: “Vuoi Migliorare la Performance della Tua Squadra?”, subtitle: “Per migliorare la performance della tua squadra o dei tuoi atleti devi conoscere il metodo scientifico e saperlo applicare”, phase1_title: “Workshop Online (4 ore)”, phase2_title: “Vantaggi Esclusivi”, cta_button_text: “Iscriviti al Workshop”, cta_link: “”, instructor_name: “Andrea”, instructor_full_name: “Andrea Casarotti”, instructor_title: “Personal Trainer certificato specializzato in strength & power training, fondatore di The Key Sports”, instructor_bio_1: “è un professionista riconosciuto nel campo della preparazione atletica e dell’allenamento scientifico. Con anni di esperienza sul campo, ha sviluppato metodologie innovative per ottimizzare le performance degli atleti.”, instructor_bio_2: “La sua approccio si basa su evidenze scientifiche concrete e applicazioni pratiche immediate, permettendo a allenatori e staff tecnici di ottenere risultati misurabili e duraturi.”, instructor_bio_3: “Autore di due libri pubblicati e disponibili su Amazon, Andrea ha condiviso la sua esperienza e metodologie con migliaia di professionisti del settore, consolidando la sua reputazione come esperto di riferimento nell’allenamento basato su evidenze scientifiche.”, primary_color: “#202020”, secondary_color: “#FFD100”, text_color: “#202020”, background_color: “#ffffff”, accent_color: “#FFEE32” }; async function onConfigChange(config) { // Update text content document.getElementById(‘main-title’).textContent = config.main_title || defaultConfig.main_title; document.getElementById(‘subtitle’).textContent = config.subtitle || defaultConfig.subtitle; document.getElementById(‘phase1-title’).textContent = config.phase1_title || defaultConfig.phase1_title; document.getElementById(‘phase2-title’).textContent = config.phase2_title || defaultConfig.phase2_title; document.getElementById(‘cta-button’).textContent = config.cta_button_text || defaultConfig.cta_button_text; document.getElementById(‘cta-button-2’).textContent = config.cta_button_text || defaultConfig.cta_button_text; document.getElementById(‘instructor-name-1’).textContent = config.instructor_name || defaultConfig.instructor_name; // Update instructor section document.getElementById(‘instructor-full-name’).textContent = config.instructor_full_name || defaultConfig.instructor_full_name; document.getElementById(‘instructor-title’).textContent = config.instructor_title || defaultConfig.instructor_title; document.getElementById(‘instructor-name-bio’).textContent = config.instructor_name || defaultConfig.instructor_name; // Update bio paragraphs const bioParagraphs = document.getElementById(‘instructor-bio’).querySelectorAll(‘p’); if (bioParagraphs.length >= 3) { bioParagraphs[0].innerHTML = `${config.instructor_name || defaultConfig.instructor_name} ${config.instructor_bio_1 || defaultConfig.instructor_bio_1}`; bioParagraphs[1].textContent = config.instructor_bio_2 || defaultConfig.instructor_bio_2; bioParagraphs[2].textContent = config.instructor_bio_3 || defaultConfig.instructor_bio_3; } // Update colors const primaryColor = config.primary_color || defaultConfig.primary_color; const secondaryColor = config.secondary_color || defaultConfig.secondary_color; const textColor = config.text_color || defaultConfig.text_color; const backgroundColor = config.background_color || defaultConfig.background_color; const accentColor = config.accent_color || defaultConfig.accent_color; // Apply colors to elements document.body.style.backgroundColor = backgroundColor; document.body.style.color = textColor; // Update gradient background const gradientSections = document.querySelectorAll(‘.gradient-bg’); gradientSections.forEach(section => { section.style.background = `linear-gradient(135deg, ${primaryColor} 0%, ${primaryColor}dd 50%, ${primaryColor}aa 100%)`; }); // Update CTA buttons (secondary style – outline only) const ctaButtons = document.querySelectorAll(‘#cta-button, #cta-button-2’); ctaButtons.forEach(button => { button.style.borderColor = secondaryColor; button.style.color = secondaryColor; button.style.backgroundColor = ‘transparent’; button.onmouseover = () => { button.style.backgroundColor = secondaryColor; button.style.color = primaryColor; }; button.onmouseout = () => { button.style.backgroundColor = ‘transparent’; button.style.color = secondaryColor; }; }); // Update accent elements const checkmarks = document.querySelectorAll(‘.text-yellow-500’); checkmarks.forEach(check => { check.style.color = accentColor; }); // Update section backgrounds const whiteSections = document.querySelectorAll(‘section.bg-white’); whiteSections.forEach(section => { section.style.backgroundColor = backgroundColor; }); // Update card backgrounds const cards = document.querySelectorAll(‘.bg-white’); cards.forEach(card => { card.style.backgroundColor = backgroundColor; card.style.color = textColor; }); // Update instructor name color const instructorName = document.getElementById(‘instructor-name-1’); if (instructorName) { instructorName.style.color = secondaryColor; } // Update feature icons const featureIcons = document.querySelectorAll(‘.feature-icon’); featureIcons.forEach(icon => { icon.style.backgroundColor = accentColor + ’20’; icon.style.color = primaryColor; }); } function mapToCapabilities(config) { return { recolorables: [ { get: () => config.primary_color || defaultConfig.primary_color, set: (value) => { config.primary_color = value; if (window.elementSdk) { window.elementSdk.setConfig({ primary_color: value }); } } }, { get: () => config.secondary_color || defaultConfig.secondary_color, set: (value) => { config.secondary_color = value; if (window.elementSdk) { window.elementSdk.setConfig({ secondary_color: value }); } } }, { get: () => config.text_color || defaultConfig.text_color, set: (value) => { config.text_color = value; if (window.elementSdk) { window.elementSdk.setConfig({ text_color: value }); } } }, { get: () => config.background_color || defaultConfig.background_color, set: (value) => { config.background_color = value; if (window.elementSdk) { window.elementSdk.setConfig({ background_color: value }); } } }, { get: () => config.accent_color || defaultConfig.accent_color, set: (value) => { config.accent_color = value; if (window.elementSdk) { window.elementSdk.setConfig({ accent_color: value }); } } } ], borderables: [], fontEditable: { get: () => config.font_family || defaultConfig.font_family || ‘Inter’, set: (value) => { config.font_family = value; if (window.elementSdk) { window.elementSdk.setConfig({ font_family: value }); } } }, fontSizeable: { get: () => config.font_size || defaultConfig.font_size || 16, set: (value) => { config.font_size = value; if (window.elementSdk) { window.elementSdk.setConfig({ font_size: value }); } } } }; } function mapToEditPanelValues(config) { return new Map([ [“main_title”, config.main_title || defaultConfig.main_title], [“subtitle”, config.subtitle || defaultConfig.subtitle], [“phase1_title”, config.phase1_title || defaultConfig.phase1_title], [“phase2_title”, config.phase2_title || defaultConfig.phase2_title], [“cta_button_text”, config.cta_button_text || defaultConfig.cta_button_text], [“cta_link”, config.cta_link || defaultConfig.cta_link], [“instructor_name”, config.instructor_name || defaultConfig.instructor_name], [“instructor_full_name”, config.instructor_full_name || defaultConfig.instructor_full_name], [“instructor_title”, config.instructor_title || defaultConfig.instructor_title], [“instructor_bio_1”, config.instructor_bio_1 || defaultConfig.instructor_bio_1], [“instructor_bio_2″, config.instructor_bio_2 || defaultConfig.instructor_bio_2] ]); } // Add click handlers for CTA buttons function handleCTAClick(button, config) { const ctaLink = config.cta_link || defaultConfig.cta_link; if (ctaLink && ctaLink.trim() !== ”) { // Open link in new tab if URL is provided window.open(ctaLink, ‘_blank’, ‘noopener,noreferrer’); } else { // Simulate enrollment action if no link is provided const originalText = button.textContent; button.textContent = ‘Iscrizione in corso…’; button.disabled = true; setTimeout(() => { button.textContent = ‘Iscrizione completata! ✓’; button.style.backgroundColor = ‘#10b981’; setTimeout(() => { button.textContent = originalText; button.disabled = false; button.style.backgroundColor = config.secondary_color || defaultConfig.secondary_color; }, 3000); }, 2000); } } function scrollToPricing() { const pricingSection = document.getElementById(‘pricing-section’); if (pricingSection) { pricingSection.scrollIntoView({ behavior: ‘smooth’, block: ‘start’ }); } } document.getElementById(‘cta-button’).addEventListener(‘click’, function() { scrollToPricing(); }); document.getElementById(‘cta-button-2’).addEventListener(‘click’, function() { scrollToPricing(); }); // Countdown Timer Functionality function updateCountdown() { const registrationDeadline = new Date(‘November 25, 2025 23:59:59’).getTime(); const now = new Date().getTime(); const timeLeft = registrationDeadline – now; if (timeLeft > 0) { const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24)); const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000); // Update numbers with animation const daysEl = document.getElementById(‘days’); const hoursEl = document.getElementById(‘hours’); const minutesEl = document.getElementById(‘minutes’); const secondsEl = document.getElementById(‘seconds’); // Add flash effect when numbers change if (daysEl.textContent !== days.toString().padStart(2, ‘0’)) { daysEl.style.transform = ‘scale(1.2)’; setTimeout(() => daysEl.style.transform = ‘scale(1)’, 200); } if (hoursEl.textContent !== hours.toString().padStart(2, ‘0’)) { hoursEl.style.transform = ‘scale(1.2)’; setTimeout(() => hoursEl.style.transform = ‘scale(1)’, 200); } if (minutesEl.textContent !== minutes.toString().padStart(2, ‘0’)) { minutesEl.style.transform = ‘scale(1.2)’; setTimeout(() => minutesEl.style.transform = ‘scale(1)’, 200); } if (secondsEl.textContent !== seconds.toString().padStart(2, ‘0’)) { secondsEl.style.transform = ‘scale(1.2)’; secondsEl.style.color = ‘#fbbf24’; setTimeout(() => { secondsEl.style.transform = ‘scale(1)’; secondsEl.style.color = ‘#ffffff’; }, 200); } daysEl.textContent = days.toString().padStart(2, ‘0’); hoursEl.textContent = hours.toString().padStart(2, ‘0’); minutesEl.textContent = minutes.toString().padStart(2, ‘0’); secondsEl.textContent = seconds.toString().padStart(2, ‘0’); // Update progress bars const totalDays = 365; // Approximate total days for registration period const totalHours = 24; const totalMinutes = 60; const totalSeconds = 60; const progressBars = document.querySelectorAll(‘.countdown-progress’); if (progressBars.length >= 4) { progressBars[0].style.width = `${(days / totalDays) * 100}%`; progressBars[1].style.width = `${(hours / totalHours) * 100}%`; progressBars[2].style.width = `${(minutes / totalMinutes) * 100}%`; progressBars[3].style.width = `${(seconds / totalSeconds) * 100}%`; } // Add urgency effects based on time remaining const countdownBoxes = document.querySelectorAll(‘.countdown-box’); const countdownMain = document.getElementById(‘countdown-main’); if (days box.classList.add(‘countdown-urgent’)); countdownMain.classList.add(‘time-running-out’); countdownMain.textContent = ‘🚨 ULTIMI GIORNI! 🚨’; } else if (days <= 30) { // Less than a month – moderate urgency countdownMain.textContent = '⏰'; } else { countdownMain.textContent = 'MANCANO SOLO:'; } if (days <= 1) { // Last day – maximum urgency countdownMain.textContent = '🔥 ULTIME ORE! 🔥'; countdownMain.style.color = '#ff0000'; countdownMain.style.fontSize = '3rem'; } } else { // Registration deadline has passed document.getElementById('days').textContent = '00'; document.getElementById('hours').textContent = '00'; document.getElementById('minutes').textContent = '00'; document.getElementById('seconds').textContent = '00'; // Update the countdown message const countdownSection = document.querySelector('.bg-red-600'); if (countdownSection) { countdownSection.innerHTML = `

⚠️ ISCRIZIONI CHIUSE ⚠️

Le iscrizioni per il workshop del 29 Novembre 2025 sono terminate.

Resta aggiornato per i prossimi eventi formativi!

`; } } } // Early Bird Countdown Timer Functionality function updateEarlyBirdCountdown() { const earlyBirdDeadline = new Date(‘November 7, 2025 23:59:59’).getTime(); const now = new Date().getTime(); const timeLeft = earlyBirdDeadline – now; if (timeLeft > 0) { const days = Math.floor(timeLeft / (1000 * 60 * 60 * 24)); const hours = Math.floor((timeLeft % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); const minutes = Math.floor((timeLeft % (1000 * 60 * 60)) / (1000 * 60)); const seconds = Math.floor((timeLeft % (1000 * 60)) / 1000); // Update early bird countdown numbers const earlyDaysEl = document.getElementById(‘early-days’); const earlyHoursEl = document.getElementById(‘early-hours’); const earlyMinutesEl = document.getElementById(‘early-minutes’); const earlySecondsEl = document.getElementById(‘early-seconds’); if (earlyDaysEl) earlyDaysEl.textContent = days.toString().padStart(2, ‘0’); if (earlyHoursEl) earlyHoursEl.textContent = hours.toString().padStart(2, ‘0’); if (earlyMinutesEl) earlyMinutesEl.textContent = minutes.toString().padStart(2, ‘0’); if (earlySecondsEl) earlySecondsEl.textContent = seconds.toString().padStart(2, ‘0’); // Add urgency effects for early bird const earlyCountdownMain = document.getElementById(‘early-bird-countdown-main’); if (days <= 3) { if (earlyCountdownMain) { earlyCountdownMain.textContent = '🚨 ULTIMI GIORNI SCONTO! 🚨'; earlyCountdownMain.classList.add('time-running-out'); } } else if (days { if (badge.textContent.includes(‘EARLY BIRD’)) { badge.style.display = ‘none’; } }); // Hide strikethrough prices const strikethroughPrices = document.querySelectorAll(‘.line-through’); strikethroughPrices.forEach(price => { if (price.closest(‘.mb-4’)) { price.style.display = ‘none’; } }); } } // Update countdown every second updateCountdown(); updateEarlyBirdCountdown(); setInterval(updateCountdown, 1000); setInterval(updateEarlyBirdCountdown, 1000); // Initialize Element SDK if (window.elementSdk) { window.elementSdk.init({ defaultConfig, onConfigChange, mapToCapabilities, mapToEditPanelValues }); } (function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement(‘script’);d.innerHTML=”window.__CF$cv$params={r:’99850f37c13fbae8′,t:’MTc2MjEwMTQ3Ny4wMDAwMDA=’};var a=document.createElement(‘script’);a.nonce=”;a.src=’/cdn-cgi/challenge-platform/scripts/jsd/main.js’;document.getElementsByTagName(‘head’)[0].appendChild(a);”;b.getElementsByTagName(‘head’)[0].appendChild(d)}}if(document.body){var a=document.createElement(‘iframe’);a.height=1;a.width=1;a.style.position=’absolute’;a.style.top=0;a.style.left=0;a.style.border=’none’;a.style.visibility=’hidden’;document.body.appendChild(a);if(‘loading’!==document.readyState)c();else if(window.addEventListener)document.addEventListener(‘DOMContentLoaded’,c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);’loading’!==document.readyState&&(document.onreadystatechange=e,c())}}}})();