Locations

ielts coaching in gwalior​

IELTS Coaching in Gwalior — Live Online Classes https://cdn.tailwindcss.com :root{ --brand-base:#FFFFFF; --brand-contrast:#0b1220; --brand-primary:#0b1220; --brand-secondary:#FBC462;…

IELTS Coaching in Gwalior — Live Online Classes https://cdn.tailwindcss.com :root{ --brand-base:#FFFFFF; --brand-contrast:#0b1220; --brand-primary:#0b1220; --brand-secondary:#FBC462; --brand-tertiary:#F5F5F1; --brand-accent:#e2e2dd; --aff-primary:#bf2b2a; --aff-secondary:#2b7ffe; --aff-accent:#333333; } html,body{margin:0;padding:0;background:var(--brand-base);overflow-x:hidden} #ielts-page-container{width:100%;max-width:100vw;margin:0;font-family:'Open Sans',sans-serif;color:var(--brand-contrast)} h1,h2,h3,h4{font-family:'Roboto Slab',serif;font-weight:700} h1{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:.75rem} h2{font-size:clamp(1.5rem,2.8vw,2rem);margin-top:2.3rem;margin-bottom:1rem} h3{font-size:clamp(1.1rem,2vw,1.35rem);margin-top:1.4rem;margin-bottom:.7rem} .muted{color:#566} .soft{color:#6b7280} .badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;border:1px solid var(--brand-accent);border-radius:999px;background:#fff;font-size:.85rem} /* Full-bleed utility */ .alignfull, .full-bleed{ position:relative!important; width:100vw!important; max-width:100vw!important; left:50%!important; right:50%!important; margin-left:-50vw!important; margin-right:-50vw!important; } .wp-site-blocks, .entry-content, .post, #primary, #ielts-page-container { overflow: visible !important; } /* HERO */ .hero-section{ position:relative; padding:clamp(2rem,5vw,5rem) 1.25rem; text-align:center; color:#0b1220; background: repeating-linear-gradient(135deg, rgba(2,6,23,0.02) 0, rgba(2,6,23,0.02) 14px, transparent 14px, transparent 28px), radial-gradient(900px 420px at 85% 12%, rgba(251,196,98,0.22) 0, transparent 70%), radial-gradient(1100px 520px at 12% 18%, rgba(43,127,254,0.10) 0, transparent 65%), linear-gradient(180deg, #fff 0%, #f9fafb 70%, #eef2ff 100%); border-bottom:1px solid var(--brand-accent); } .hero-content{position:relative;z-index:1;max-width:1200px;margin:0 auto} .breadcrumbs{font-size:.9rem;margin-bottom:.6rem;color:#6b7280} .breadcrumbs a{color:#6b7280;text-decoration:none} .breadcrumbs a:hover{text-decoration:underline} /* Grid */ .content-and-toc-grid{display:grid;grid-template-columns:1fr;max-width:100%} .main-content{padding:clamp(1rem,3vw,2rem) clamp(1rem,5vw,4rem);max-width:1400px;margin:0 auto} /* ToC */ .toc-desktop{position:sticky;top:0;height:100vh;overflow-y:auto;padding:2rem 1.25rem;border-right:1px solid var(--brand-accent);background:var(--brand-base);display:none} .toc-desktop a{display:block;margin:.5rem 0;padding:.45rem;color:#6b7280;border-left:2px solid transparent;text-decoration:none;transition:.2s;border-radius:4px} .toc-desktop a:hover{color:var(--brand-secondary);border-left-color:var(--brand-secondary);background:#fafafa} .toc-desktop a.active{color:#111;font-weight:700;background:#fff;border-left-color:var(--brand-secondary)} .toc-mobile{display:block;margin:1.25rem 1rem} /* Blocks */ .info-box{background:var(--brand-tertiary);padding:1rem 1.2rem;border-left:4px solid var(--brand-secondary);margin:1rem 0;font-style:italic;border-radius:8px} .course-card{background:var(--brand-tertiary);border-radius:12px;padding:1.25rem;text-align:center;box-shadow:0 4px 10px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s} .course-card:hover{transform:translateY(-4px);box-shadow:0 10px 18px rgba(0,0,0,.1)} .course-card-icon{font-size:2.1rem;color:#111;margin-bottom:.5rem} .related-block{background:var(--brand-tertiary);border:1px solid var(--brand-accent);border-radius:12px;padding:1.1rem} .related-grid{display:grid;grid-template-columns:1fr;gap:.5rem} @media(min-width:768px){.related-grid{grid-template-columns:1fr 1fr}} /* Affiliate */ .affiliate-section{background:#fff;padding:2rem;border:2px solid var(--aff-primary);border-radius:14px;margin:3rem auto;max-width:980px;box-shadow:0 6px 14px rgba(0,0,0,.08);color:var(--aff-accent);text-align:center} .cta-button{background:var(--aff-secondary);color:#fff;padding:.75rem 1.25rem;border-radius:10px;font-weight:700;text-decoration:none;display:inline-block;transition:.2s} .cta-button:hover{filter:brightness(.95)} .promo-code{font-family:'Roboto Slab',serif;font-weight:700;background:#f6f6f6;padding:.45rem 1rem;border-radius:6px;border:1px dashed var(--aff-accent);display:inline-block;margin-top:.6rem} /* Forms */ .form-section{background:var(--brand-tertiary);padding:2rem;border-radius:12px} .form-group{margin-bottom:1rem} .form-group label{display:block;font-weight:700;margin-bottom:.35rem} .form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--brand-accent);border-radius:8px;background:var(--brand-base)} .submit-button{background:var(--brand-secondary);color:#111;padding:.9rem 1.4rem;font-weight:700;border-radius:10px;border:none;cursor:pointer;transition:.2s} .submit-button:hover{background:#e6b052} .band-card{text-align:center} .trust-badges{display:flex;flex-wrap:wrap;gap:.5rem} .trust-badges span{background:#fff;border:1px solid var(--brand-accent);border-radius:999px;padding:.35rem .7rem;font-size:.85rem} /* Tutor full-bleed */ .tutor-fullbleed-wrap, .tutor-figure{ position: relative !important; width: 100vw !important; max-width: 100vw !important; left: 50% !important; right: 50% !important; margin-left: -50vw !important; margin-right: -50vw !important; } :where(.wp-site-blocks, .entry-content, .post, #primary, .is-layout-constrained, .wp-block-group) :where(.tutor-fullbleed-wrap, .tutor-figure){ padding-left:0 !important; padding-right:0 !important; } .tutor-banner-img{ width:100%!important; height:clamp(360px, 50vw, 700px)!important; object-fit:cover!important; object-position:center 42%!important; display:block!important; background:#ddd; } .tutor-banner-overlay{position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,0.08) 0%, rgba(0,0,0,0.35) 75%, rgba(0,0,0,0.5) 100%); pointer-events:none;} .tutor-caption{ position:absolute; left:50%; transform:translateX(-50%); bottom:clamp(16px,2.5vw,28px); width:min(92vw,1200px); color:#fff; text-align:left; font-family:'Roboto Slab',serif; font-weight:700; line-height:1.25; font-size:clamp(1.1rem,2.1vw,1.6rem); text-shadow:0 1px 2px rgba(0,0,0,.35); } /* Table */ table{border-collapse:collapse} th,td{border-bottom:1px solid var(--brand-accent)} @media(min-width:990px){ .content-and-toc-grid{grid-template-columns:280px 1fr} .toc-desktop{display:block} .toc-mobile{display:none} } @media(max-width:989px){ .main-content{padding:1rem} .hero-section{padding:2rem 1rem} }

On This Page

Why online in Gwalior Areas we cover IELTS course options Online vs offline Speaking & Writing Free tools & quiz How to book IELTS Fees & inclusions Meet your tutor Student reviews Enquiry form FAQs Related pages

Why choose our online IELTS coaching in Gwalior

Traffic on NH‑44, busy schedules around City Center and college hours near Thatipur make prep hard. Ditch the commute and invest that time in timed tasks, rewrites, and weekly speaking mocks that actually move your band.

  • Evening/weekend batches around college or work
  • Line‑by‑line writing feedback mapped to TR, CC, LR, GRA
  • Speaking interviews with banded notes + recordings
“From Lashkar I saved an hour daily—Task‑2 rewrites took me from 6.0 to 7.5.”

Areas we serve in Gwalior (and nearby)

IELTS course options

Choose what fits your timeline and target. Every plan includes strategy lessons, homework reviews, and weekly milestones—covering Academic, General Training, and UKVI.

👨‍🏫

One‑to‑one coaching

Ultra‑focused support and faster iterations—ideal for Band 7+ or tight deadlines.

Book a personal plan →
👥

Small group classes

Interactive tasks, peer practice, and rotating speaking—best value.

Join a group class →
🚀

IELTS crash course

Two‑week intensive: daily goals, timed drills, and exam‑day strategy.

Start your crash course →

Academic, General Training & UKVI

We cover IELTS Academic, General Training and IELTS for UKVI.

Online versus offline IELTS prep in Gwalior

FactorOnline with usOffline centres
TimeNo commute, flexible slotsCommute + fixed timings
FeedbackLine‑by‑line notes + recordingsVaries by trainer
SpeakingWeekly mocks with banded notesOften less frequent
FlexibilityEvening/weekend batchesLimited slots

Speaking & Writing coaching

Speaking classes

Weekly mocks with notes on fluency, pronunciation, and coherence. Learn to extend answers, use natural linking, and self‑correct. Recordings help you hear progress.

Practice hub: IELTS Speaking Q&A

Writing classes

Feedback is line‑by‑line and mapped to TR, CC, LR, GRA—with model rewrites and checklists so every draft improves for a clear reason.

Start with: Task 1 Guide · Master Task 2

Free tools & vocabulary quiz

Plan smarter and track progress. Explore the full IELTS tools hub.

IELTS progress tracker

Enter days to your test and get a weekly plan.

Days until your IELTS exam

Module selector tool

Choose a module to see instant tips.

I want help with Select a module Listening Reading Writing Speaking

Vocabulary quiz

Choose a category, answer, then check to see instant feedback.

Category General Vocabulary Academic Words Collocations Linking Words Paraphrase

Calculate your band score

Estimate your overall band from module results.

How to book your IELTS test in Gwalior

  1. Open the official IDP India IELTS test dates page.
  2. Select Gwalior/nearby city and test type (Academic/General).
  3. Create/Sign in to your account and complete payment.
  4. Check email/SMS for your venue and Speaking interview time.

Note: In India, IELTS tests are delivered by IDP. We help you prepare for computer‑delivered or paper‑based formats.

Fees & inclusions

Fees vary by format (1‑to‑1, group, crash), duration, and add‑ons like extra writing corrections or speaking mocks. Every plan includes strategy lessons, timed practice, and feedback that shows exactly what to fix next.

Sahil Sayed — CELTA‑qualified IELTS tutor
Learn with Sahil Sayed — CELTA‑qualified IELTS tutor (since 2015), known for precise writing feedback and realistic speaking mocks.

Meet your tutor

Sahil Sayed is a CELTA‑qualified English trainer—originally from Mumbai and now based in the UK. He has coached IELTS candidates since 2015. His approach is practical: clear strategy, targeted drills, and line‑by‑line feedback mapped to the band descriptors.

“Weekend mocks and structured Writing rewrites took me from 6.0 to 7.5 while juggling shifts.”

Get real test experience at home — with a 10% discount

We’ve partnered with Preptical to give you realistic IELTS mock tests online.

  • Interface that mirrors the official exam
  • Timed sections to master pacing
  • Authentic question types for all modules
  • Detailed performance analysis

Use promo code:

IELTSTRAININGCAMP
Preptical IELTS
Buy a mock test now →

Student reviews

“Evening classes fit my schedule near City Center. The banded notes showed exactly how to fix Task 2.”

Learner, City Center (Gwalior)

“Speaking interviews felt like the real test. Confidence jumped within two weeks.”

Student, Morar (Gwalior)

Enquiry form

Get a free demo + personalised band plan within 24 hours.

✔ Personal study roadmap ✔ Writing sample review ✔ Speaking level check ✔ No spam. Human reply.
Full name
Email

We’ll send your demo confirmation here.

Confirm email
Phone / WhatsApp
City
Preferred contact WhatsApp Phone call Email
IELTS module Select Academic General Training Both
Target band Select 6.06.57.07.58.0+
Test timeframe Not sure 2–3 weeks 1 month 6–8 weeks 3+ months
Have you booked the test? Not yet IDP
Coaching preference Select a preference One‑to‑one Coaching Group Classes Crash Course Not sure / Other
Tell us briefly about your English/IELTS level (optional)
I agree to the Privacy Policy.

We typically reply within 1–6 hours (9am–9pm IST).

Frequently asked questions (Gwalior)

Do you run offline batches near City Center/Thatipur?

We specialise in live online coaching to save commute time and give flexible scheduling. It also allows faster feedback loops and recorded reviews.

Is British Council IELTS offered in Gwalior?

In India, IELTS tests are delivered by IDP. We guide you on booking and preparation for computer‑delivered or paper‑based formats.

Computer‑delivered or paper‑based—which should I choose?

If you type faster and like quick edits, choose computer‑delivered (great for Writing). Prefer reading on paper? Go paper‑based. We prepare you for both.

Do you offer a free demo?

Yes—submit the enquiry form to book your free demo and get a personalised band plan.

// Smooth scroll function smoothScrollTo(id){ const el=document.querySelector(id); if(!el) return; el.scrollIntoView({behavior:'smooth'}); const d=document.querySelector('.toc-mobile details'); if(d) d.open=false; } document.querySelectorAll('#ielts-page-container a[href^="#"]').forEach(a=>{ a.addEventListener('click',e=>{e.preventDefault(); smoothScrollTo(a.getAttribute('href'));}); }); // ScrollSpy const sections=document.querySelectorAll('section[id]'); const tocLinks=document.querySelectorAll('.toc-desktop a'); function updateToc(){ let current=''; sections.forEach(s=>{ const top=s.offsetTop-200; if(window.scrollY>=top) current=s.getAttribute('id'); }); tocLinks.forEach(l=>{ l.classList.remove('active'); if(current && l.getAttribute('href').includes(current)) l.classList.add('active'); }); } window.addEventListener('scroll',updateToc); window.addEventListener('load',updateToc); // Study plan function generateStudyPlan(){ const d=parseInt(document.getElementById('daysLeft').value,10); const r=document.getElementById('studyPlanResult'); r.innerHTML=''; r.classList.remove('hidden'); if(d>0){ const w=Math.ceil(d/7); let h=`

Your ${w}-week study plan

    `; for(let i=1;i<=w;i++){ h+=`
  1. Week ${i}: Focus on one main module and practise timed tasks with two speaking mocks.
  2. `; } h+='
'; r.innerHTML=h; } else { r.innerHTML='

Please enter a valid number of days.

'; } } // Module tips function showTips(){ const m=document.getElementById('moduleSelector').value; const t=document.getElementById('moduleTips'); t.innerHTML=''; t.classList.remove('hidden'); const map={ listening:'Practise multiple accents, track keywords, and anticipate next words.', reading:'Build skimming/scanning speed. Identify headings, opinions, and data quickly.', writing:'Master task requirements and structure. Use clear topic sentences and cohesion.', speaking:'Record answers, refine fluency & pronunciation, and extend responses naturally.' }; if(!m){t.innerHTML='Select a module to get started.'; return;} const p=m.charAt(0).toUpperCase()+m.slice(1); t.innerHTML=`

Tips for ${p}

${map[m]}

`; } // Vocabulary Quiz (instant feedback + categories) const quizBank = { general: [ { q:"What is a synonym for ubiquitous?", a:["Common","Rare","Unique","Limited"], c:0, e:"Ubiquitous means common or found everywhere." }, { q:"Ameliorate means to…", a:["Make worse","Improve","Destroy","Create"], c:1, e:"Ameliorate equals improve." }, { q:"Choose the antonym for benevolent:", a:["Kind","Generous","Malicious","Friendly"], c:2, e:"Antonym of benevolent is malicious." }, { q:"What does concur mean?", a:["To disagree","To agree","To protest","To question"], c:1, e:"Concur means agree." }, { q:"Which word means lacking interest or enthusiasm?", a:["Zealous","Ardent","Apathetic","Eager"], c:2, e:"Apathetic means lacking interest." } ], academic: [ { q:"Prevalent is closest in meaning to…", a:["Sporadic","Widespread","Dubious","Tentative"], c:1, e:"Prevalent is widespread." }, { q:"Inherent most nearly means…", a:["External","Acquired","Innate","Temporary"], c:2, e:"Inherent equals innate." }, { q:"Mitigate means…", a:["Measure","Worsen","Reduce","Repeat"], c:2, e:"Mitigate equals reduce or lessen." }, { q:"Subsequent is the opposite of…", a:["Initial","Eventual","Following","Consecutive"], c:0, e:"Opposite of subsequent is initial." } ], collocations: [ { q:"Choose the best collocation:", a:["Strong rain","Heavy rain","Thick rain","Big rain"], c:1, e:"We say heavy rain." }, { q:"Choose the best collocation:", a:["Do a decision","Make a decision","Take a decision on","Create a decision"], c:1, e:"Make a decision." }, { q:"Choose the best collocation:", a:["Highly success","High success","Greatly successful","Highly successful"], c:3, e:"Highly successful." }, { q:"Choose the best collocation:", a:["Strongly agree","Hardly agree","Powerfully agree","Forcefully agree"], c:0, e:"Strongly agree." } ], linking: [ { q:"Best linker for contrast:", a:["Therefore","However","Furthermore","Namely"], c:1, e:"However shows contrast." }, { q:"Best linker for example:", a:["For instance","Nevertheless","Meanwhile","Although"], c:0, e:"For instance introduces examples." }, { q:"Best linker for result:", a:["Consequently","Even though","Likewise","Moreover"], c:0, e:"Consequently shows result." }, { q:"Best linker for addition:", a:["Whereas","Moreover","Otherwise","Despite"], c:1, e:"Moreover adds information." } ], paraphrase: [ { q:"Paraphrase very important:", a:["Crucial","Minute","Random","Optional"], c:0, e:"Crucial is a strong synonym." }, { q:"Paraphrase go up rapidly:", a:["Plunge","Plateau","Soar","Dwindle"], c:2, e:"Soar means rise quickly." }, { q:"Paraphrase a lot of:", a:["Numerous","Scarce","Minimal","Sporadic"], c:0, e:"Numerous equals many." }, { q:"Paraphrase make worse:", a:["Alleviate","Exacerbate","Emulate","Emanate"], c:1, e:"Exacerbate means make worse." } ] }; let qCat = 'general'; let qIndex = 0; let qScore = 0; let canCheck = false; const els = { category: document.getElementById('vocabCategory'), question: document.getElementById('question'), answers: document.getElementById('answers'), feedback: document.getElementById('quiz-feedback'), nextBtn: document.getElementById('nextBtn'), checkBtn: document.getElementById('checkBtn'), result: document.getElementById('quiz-result'), progress: document.getElementById('quiz-progress') }; function resetQuiz(cat){ qCat = cat || qCat; qIndex = 0; qScore = 0; els.result.textContent = ''; renderQuestion(); } function renderQuestion(){ const arr = quizBank[qCat]; const item = arr[qIndex]; els.question.textContent = item.q; els.answers.innerHTML = ''; els.feedback.textContent = ''; els.progress.textContent = `Question ${qIndex+1} of ${arr.length} (${qCat})`; item.a.forEach((opt,i)=>{ const id = `ans_${qIndex}_${i}`; const label = document.createElement('label'); label.className = 'block cursor-pointer'; label.innerHTML = ` ${opt}`; els.answers.appendChild(label); }); canCheck = false; els.checkBtn.disabled = true; els.nextBtn.disabled = true; els.answers.querySelectorAll('input[name="quiz"]').forEach(r=>{ r.addEventListener('change', ()=>{ canCheck = true; els.checkBtn.disabled = false; }); }); } function checkAnswer(){ if(!canCheck) return; const selected = document.querySelector('input[name="quiz"]:checked'); if(!selected) return; const val = parseInt(selected.value, 10); const item = quizBank[qCat][qIndex]; els.answers.querySelectorAll('input[name="quiz"]').forEach(r=> r.disabled = true); const labels = els.answers.querySelectorAll('label'); labels[item.c].style.fontWeight = '700'; labels[item.c].style.textDecoration = 'underline'; els.feedback.textContent = (val === item.c) ? `✅ Correct. ${item.e}` : `❌ Not quite. ${item.e}`; if(val === item.c) qScore++; els.checkBtn.disabled = true; els.nextBtn.disabled = false; } function nextQuestion(){ const arr = quizBank[qCat]; qIndex++; if(qIndex resetQuiz(e.target.value)); if(els.checkBtn) els.checkBtn.addEventListener('click', checkAnswer); if(els.nextBtn) els.nextBtn.addEventListener('click', nextQuestion); resetQuiz('general'); // ---------- Email validation upgrades ---------- const emailRegex = /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)+$/i; const domainFixes = { 'gmal.com':'gmail.com','gamil.com':'gmail.com','gmial.com':'gmail.com','gmail.co':'gmail.com','gmail.con':'gmail.com', 'yaho.com':'yahoo.com','yhoo.com':'yahoo.com','yahoo.co':'yahoo.com', 'outlok.com':'outlook.com','outlook.co':'outlook.com', 'hotmial.com':'hotmail.com','hotamil.com':'hotmail.com', 'iclod.com':'icloud.com','iclud.com':'icloud.com', 'proton.com':'proton.me','protonmail.com':'proton.me' }; function normaliseEmail(v){ return (v || '').trim().toLowerCase(); } function suggestDomain(email){ const parts = email.split('@'); if(parts.length !== 2) return null; const [local, domain] = parts; const fix = domainFixes[domain]; if (fix) return `${local}@${fix}`; // Autodot tld fix if (/^[a-z0-9-]+(com|net|org|co|in)$/i.test(domain)) { return `${local}@${domain.replace(/(com|net|org|co|in)$/i, '.$1')}`; } return null; } // ---------- Form submit (Apps Script) ---------- const SCRIPT_URL="https://script.google.com/macros/s/AKfycbzccPqw9sib0w_t0qdexMdtwiann_jHGrm4IV79_CmAnWciWW_oL1sRX5Ib3UgsSaEDeg/exec"; const form=document.getElementById('enquiryForm'); const btn=document.getElementById('submitBtn'); const ok=document.getElementById('formSuccess'); const err=document.getElementById('formError'); const emailEl = document.getElementById('email'); const email2El = document.getElementById('email2'); const emailMatchHelp = document.getElementById('emailMatchHelp'); const suggestionBtn = document.getElementById('emailSuggestion'); function setFieldError(el, hasError){ el.style.borderColor = hasError ? '#dc2626' : 'var(--brand-accent)'; if(hasError) el.setAttribute('aria-invalid','true'); else el.removeAttribute('aria-invalid'); } function validateEmails(showSuggestion=true){ const e1 = normaliseEmail(emailEl.value); const e2 = normaliseEmail(email2El.value); emailEl.value = e1; email2El.value = e2; const formatOk = emailRegex.test(e1); const matchOk = e1 && e2 && e1 === e2; setFieldError(emailEl, !formatOk); setFieldError(email2El, !matchOk); emailMatchHelp.classList.toggle('hidden', matchOk); const suggestion = formatOk ? suggestDomain(e1) : null; if (showSuggestion && suggestion && suggestion !== e1) { suggestionBtn.classList.remove('hidden'); suggestionBtn.textContent = `Did you mean ${suggestion} ? Click to use.`; suggestionBtn.onclick = () => { emailEl.value = suggestion; email2El.value = suggestion; suggestionBtn.classList.add('hidden'); validateEmails(false); }; } else { suggestionBtn.classList.add('hidden'); } return formatOk && matchOk; } ['blur','input'].forEach(evt=>{ emailEl.addEventListener(evt, ()=>validateEmails(evt==='blur')); email2El.addEventListener(evt, ()=>validateEmails(evt==='blur')); }); form.addEventListener('submit', async e=>{ e.preventDefault(); if(document.getElementById('company').value.trim()!=='') return; // honeypot const requiredIds = ['name','email','email2','phone','module','preference']; const consent = document.getElementById('consent'); if (consent) requiredIds.push('consent'); for(const id of requiredIds){ const el = document.getElementById(id); const okField = el && (el.tagName==='INPUT' && el.type==='checkbox' ? el.checked : (el.value && el.value.trim()!=='')); if(!okField){ err.classList.remove('hidden'); err.textContent='Please fill all required fields.'; return; } } if (!validateEmails(true)){ err.classList.remove('hidden'); err.textContent = 'Please enter a valid email and make sure both emails match.'; emailEl.focus(); return; } btn.disabled=true; btn.textContent='Submitting…'; ok.classList.add('hidden'); err.classList.add('hidden'); try{ const fd=new FormData(form); fd.set('email', normaliseEmail(emailEl.value)); fd.set('email_confirm', normaliseEmail(email2El.value)); fd.append('timestamp',new Date().toISOString()); fd.append('user_agent',navigator.userAgent); await fetch(SCRIPT_URL,{method:'POST',mode:'no-cors',body:fd}); form.reset(); btn.disabled=false; btn.textContent='Get my free demo →'; ok.classList.remove('hidden'); window.scrollTo({top: ok.getBoundingClientRect().top + window.scrollY - 120, behavior:'smooth'}); }catch(ex){ btn.disabled=false; btn.textContent='Get my free demo →'; err.classList.remove('hidden'); err.textContent='Sorry, something went wrong. Please try again or email info@ieltstrainingcamp.com'; console.error(ex); } }); // Initialize quiz on load (function initQuiz(){ const catSel=document.getElementById('vocabCategory'); const qEl=document.getElementById('question'); const aEl=document.getElementById('answers'); const fb=document.getElementById('quiz-feedback'); const prog=document.getElementById('quiz-progress'); const next=document.getElementById('nextBtn'); const check=document.getElementById('checkBtn'); let bankKey='general'; let idx=0, score=0; const bank={ general:[ {q:"What is a synonym for ubiquitous?",a:["Common","Rare","Unique","Limited"],c:0,e:"Ubiquitous means common or found everywhere."}, {q:"Ameliorate means to…",a:["Make worse","Improve","Destroy","Create"],c:1,e:"Ameliorate equals improve."} ], academic:[ {q:"Prevalent is closest in meaning to…",a:["Sporadic","Widespread","Dubious","Tentative"],c:1,e:"Prevalent is widespread."}, {q:"Inherent most nearly means…",a:["External","Acquired","Innate","Temporary"],c:2,e:"Inherent equals innate."} ], collocations:[ {q:"Choose the best collocation:",a:["Strong rain","Heavy rain","Thick rain","Big rain"],c:1,e:"We say heavy rain."} ], linking:[ {q:"Best linker for contrast:",a:["Therefore","However","Furthermore","Namely"],c:1,e:"However shows contrast."} ], paraphrase:[ {q:"Paraphrase very important:",a:["Crucial","Minute","Random","Optional"],c:0,e:"Crucial is a strong synonym."} ] }; function render(){ const arr=bank[bankKey]; const item=arr[idx]; qEl.textContent=item.q; aEl.innerHTML=''; fb.textContent=''; prog.textContent=`Question ${idx+1} of ${arr.length} (${bankKey})`; item.a.forEach((opt,i)=>{ const id=`q_${idx}_${i}`; const label=document.createElement('label'); label.className='block cursor-pointer'; label.innerHTML=` ${opt}`; aEl.appendChild(label); }); check.disabled=true; next.disabled=true; aEl.querySelectorAll('input[name="quiz_gwl"]').forEach(r=>{ r.addEventListener('change',()=>{ check.disabled=false; }); }); } function checkAns(){ const sel=aEl.querySelector('input[name="quiz_gwl"]:checked'); if(!sel) return; const val=parseInt(sel.value,10); const item=bank[bankKey][idx]; aEl.querySelectorAll('input[name="quiz_gwl"]').forEach(r=> r.disabled=true); if(val===item.c){ score++; fb.textContent=`✅ Correct. ${item.e}`; } else{ fb.textContent=`❌ Not quite. ${item.e}`; } check.disabled=true; next.disabled=false; } function nextQ(){ const arr=bank[bankKey]; idx++; if(idx<arr.length){ render(); } else{ qEl.textContent=''; aEl.innerHTML=''; fb.textContent=''; prog.textContent=''; next.disabled=true; check.disabled=true; document.getElementById('quiz-result').textContent=`Quiz complete. You scored ${score} out of ${arr.length}.`; } } function changeCat(e){ bankKey=e.target.value; idx=0; score=0; document.getElementById('quiz-result').textContent=''; render(); } catSel.addEventListener('change',changeCat); document.getElementById('checkBtn').addEventListener('click',checkAns); document.getElementById('nextBtn').addEventListener('click',nextQ); render(); })();

Ready to achieve your target IELTS score?

Join 15,000+ students with expert-led courses and AI practice tests.

Start Free Trial