{"id":19929,"date":"2026-08-20T11:53:08","date_gmt":"2026-08-20T10:53:08","guid":{"rendered":"https:\/\/esbuk.org\/?page_id=19929"},"modified":"2026-08-20T11:53:08","modified_gmt":"2026-08-20T10:53:08","slug":"19929-2","status":"publish","type":"page","link":"https:\/\/esbuk.org\/index.php\/19929-2\/","title":{"rendered":""},"content":{"rendered":"\n<!-- ESB Personalised Quote Builder: paste this entire block into one WordPress Custom HTML block. -->\n<div id=\"esb-quote-calculator\"><\/div>\n\n<style>\n  #esb-quote-calculator{--esb-red:#ed2424;--esb-ink:#14213d;--esb-cyan:#16b5d4;--esb-pale:#f3f7fb;--esb-line:#d8e1eb;color:var(--esb-ink);font-family:Arial,Helvetica,sans-serif;max-width:1180px;margin:0 auto;padding:20px 0 60px}\n  #esb-quote-calculator *{box-sizing:border-box}\n  #esb-quote-calculator button,#esb-quote-calculator input{font:inherit}\n  #esb-quote-calculator .esb-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:34px}\n  #esb-quote-calculator .esb-progress{display:flex;flex-direction:column;gap:8px}\n  #esb-quote-calculator .esb-progress button{display:flex;align-items:center;gap:11px;padding:9px;border:0;background:none;color:#8a96a8;text-align:left;cursor:default}\n  #esb-quote-calculator .esb-progress button.esb-clickable{cursor:pointer}\n  #esb-quote-calculator .esb-progress i{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--esb-line);border-radius:50%;background:#fff;font-style:normal;flex:0 0 auto}\n  #esb-quote-calculator .esb-progress .esb-current{color:var(--esb-ink);font-weight:700}\n  #esb-quote-calculator .esb-progress .esb-current i{border-color:var(--esb-red);background:var(--esb-red);color:#fff}\n  #esb-quote-calculator .esb-progress .esb-complete i{border-color:#bce6d6;background:#dff5ed;color:#087653}\n  #esb-quote-calculator .esb-panel{min-width:0;padding:clamp(24px,4vw,48px);border:1px solid var(--esb-line);border-radius:24px;background:#fff;box-shadow:0 18px 60px rgba(24,42,78,.08)}\n  #esb-quote-calculator h2{margin:8px 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.1;letter-spacing:-1px}\n  #esb-quote-calculator h3{line-height:1.25}\n  #esb-quote-calculator .esb-muted{margin:0 0 28px;color:#68768b}\n  #esb-quote-calculator .esb-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}\n  #esb-quote-calculator .esb-card{min-height:150px;padding:22px;border:1px solid var(--esb-line);border-radius:18px;background:#fff;color:var(--esb-ink);display:flex;flex-direction:column;gap:12px;text-align:left;cursor:pointer;transition:.2s}\n  #esb-quote-calculator .esb-card:hover,#esb-quote-calculator .esb-card.esb-selected{border-color:var(--esb-cyan);box-shadow:0 8px 25px rgba(22,181,212,.13);transform:translateY(-2px)}\n  #esb-quote-calculator .esb-radio{width:20px;height:20px;border:2px solid #9ba8ba;border-radius:50%}\n  #esb-quote-calculator .esb-card.esb-selected .esb-radio{border:6px solid var(--esb-red)}\n  #esb-quote-calculator small{display:block;color:#738096;line-height:1.45}\n  #esb-quote-calculator .esb-list,#esb-quote-calculator .esb-cohorts{max-height:470px;overflow:auto;border:1px solid var(--esb-line);border-radius:16px}\n  #esb-quote-calculator .esb-list label,#esb-quote-calculator .esb-cohorts>label{padding:17px 18px;border-bottom:1px solid #e8edf3}\n  #esb-quote-calculator .esb-list label{display:flex;align-items:center;gap:14px}\n  #esb-quote-calculator .esb-list input{width:20px;height:20px;accent-color:var(--esb-red);flex:0 0 auto}\n  #esb-quote-calculator .esb-list label:last-child,#esb-quote-calculator .esb-cohorts>label:last-child{border-bottom:0}\n  #esb-quote-calculator .esb-list label small{margin-top:5px}\n  #esb-quote-calculator .esb-family h3{position:sticky;top:0;z-index:1;margin:0;padding:11px 18px;border-top:1px solid #efd1d1;border-bottom:1px solid #efd1d1;background:#fff2f2;color:#991b1b;font-size:13px;text-transform:uppercase;letter-spacing:.06em}\n  #esb-quote-calculator .esb-family:first-child h3{border-top:0}\n  #esb-quote-calculator .esb-list-tools{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px;color:#68768b;font-size:13px}\n  #esb-quote-calculator .esb-list-tools button{padding:8px 12px;border:1px solid #c7d2e2;border-radius:8px;background:#fff5f5;color:var(--esb-red);font-weight:800;cursor:pointer}\n  #esb-quote-calculator .esb-cohorts>label{display:grid;grid-template-columns:minmax(0,1fr) 180px;align-items:center;gap:14px}\n  #esb-quote-calculator .esb-cohort-copy{min-width:0;padding-right:20px;overflow-wrap:anywhere}\n  #esb-quote-calculator .esb-number{width:180px;justify-self:end;display:flex;align-items:center;overflow:hidden;border:1px solid var(--esb-line);border-radius:10px}\n  #esb-quote-calculator .esb-number input{width:90px;min-width:0;padding:12px;border:0;outline:none}\n  #esb-quote-calculator .esb-number i{flex:1;padding:13px 8px;background:var(--esb-pale);color:#637087;font-size:12px;font-style:normal;text-align:center}\n  #esb-quote-calculator .esb-footer{display:flex;justify-content:space-between;margin-top:28px}\n  #esb-quote-calculator .esb-primary,#esb-quote-calculator .esb-back{padding:13px 22px;border:0;border-radius:10px;font-weight:800;cursor:pointer}\n  #esb-quote-calculator .esb-primary{background:var(--esb-red);color:#fff}\n  #esb-quote-calculator .esb-primary:disabled{opacity:.35;cursor:not-allowed}\n  #esb-quote-calculator .esb-back{background:#eef2f7;color:var(--esb-ink)}\n  #esb-quote-calculator .esb-result{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:24px}\n  #esb-quote-calculator .esb-quote,#esb-quote-calculator .esb-form{padding:24px;border:1px solid var(--esb-line);border-radius:18px}\n  #esb-quote-calculator .esb-total{padding:24px;border-radius:14px;background:linear-gradient(130deg,var(--esb-red),#bd1414);color:#fff}\n  #esb-quote-calculator .esb-total span,#esb-quote-calculator .esb-total small{display:block;color:#fff}\n  #esb-quote-calculator .esb-total strong{display:block;margin:8px 0;font-size:46px}\n  #esb-quote-calculator .esb-quote>.esb-total+h3{margin-top:34px}\n  #esb-quote-calculator .esb-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #e8edf3}\n  #esb-quote-calculator .esb-row>span{min-width:0;overflow-wrap:anywhere}\n  #esb-quote-calculator .esb-saving{margin:8px 0 12px;padding:22px 24px;border:1px solid #bce6d6;border-radius:12px;background:#eaf8f2;color:#086348}\n  #esb-quote-calculator .esb-saving>span{max-width:78%}\n  #esb-quote-calculator .esb-saving>b{font-size:20px;white-space:nowrap}\n  #esb-quote-calculator details{margin:10px 0;overflow:hidden;border:1px solid #e7c4c4;border-radius:12px;background:#fffafa}\n  #esb-quote-calculator summary{display:flex;align-items:center;gap:16px;padding:15px 16px;color:var(--esb-red);font-weight:800;cursor:pointer;list-style:none}\n  #esb-quote-calculator summary::-webkit-details-marker{display:none}\n  #esb-quote-calculator summary small{margin-left:auto}\n  #esb-quote-calculator summary:after{content:\"+\";font-size:22px}\n  #esb-quote-calculator details[open] summary:after{content:\"\u2212\"}\n  #esb-quote-calculator .esb-details-body{padding:0 16px 4px;border-top:1px solid #f1dada}\n  #esb-quote-calculator .esb-benefits{margin-top:22px;padding:16px 20px;border-left:4px solid var(--esb-cyan);background:#edfafd}\n  #esb-quote-calculator .esb-benefits p{margin:9px 0}\n  #esb-quote-calculator .esb-tip{padding:14px;border-radius:10px;background:#fff7e4}\n  #esb-quote-calculator .esb-how{display:inline-block;margin:2px 0 10px;padding:0;border:0;border-bottom:1px solid currentColor;background:none;color:#075f78;font-size:13px;font-weight:800;cursor:pointer}\n  #esb-quote-calculator .esb-form{height:max-content;background:var(--esb-pale)}\n  #esb-quote-calculator .esb-form h3{margin-top:0;color:var(--esb-red);font-weight:900}\n  #esb-quote-calculator .esb-form>label{display:block;margin:14px 0;font-size:13px;font-weight:700}\n  #esb-quote-calculator .esb-form input:not([type=\"hidden\"]){width:100%;margin-top:6px;padding:11px;border:1px solid #cbd5e1;border-radius:8px;background:#fff}\n  #esb-quote-calculator .esb-form .esb-primary{width:100%;margin:8px 0 12px}\n  #esb-quote-calculator .esb-modal-bg{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:24px;background:rgba(10,24,48,.62)}\n  #esb-quote-calculator .esb-modal{position:relative;width:min(620px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:32px;border-radius:18px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.28)}\n  #esb-quote-calculator .esb-modal h2{padding-right:38px;font-size:32px}\n  #esb-quote-calculator .esb-modal p,#esb-quote-calculator .esb-modal li{color:#526178;line-height:1.6}\n  #esb-quote-calculator .esb-modal li+li{margin-top:10px}\n  #esb-quote-calculator .esb-close{position:absolute;top:16px;right:16px;width:38px;height:38px;border:0;border-radius:50%;background:#f3f6fa;color:#24334d;font-size:25px;cursor:pointer}\n  @media(max-width:800px){\n    #esb-quote-calculator .esb-shell{grid-template-columns:1fr}\n    #esb-quote-calculator .esb-progress{flex-direction:row;overflow:auto}\n    #esb-quote-calculator .esb-progress span{display:none}\n    #esb-quote-calculator .esb-cards,#esb-quote-calculator .esb-result{grid-template-columns:1fr}\n    #esb-quote-calculator .esb-panel{padding:24px}\n    #esb-quote-calculator .esb-cohorts>label{display:flex;align-items:flex-start;flex-direction:column}\n    #esb-quote-calculator .esb-cohort-copy{padding-right:0}\n    #esb-quote-calculator .esb-number{width:100%}\n    #esb-quote-calculator .esb-number input{flex:1}\n    #esb-quote-calculator .esb-saving{align-items:flex-start;flex-direction:column}\n    #esb-quote-calculator .esb-saving>span{max-width:100%}\n    #esb-quote-calculator .esb-modal{padding:24px}\n  }\n<\/style>\n\n<script>\n(function(){\n  \"use strict\";\n  var root=document.getElementById(\"esb-quote-calculator\");\n  if(!root||root.dataset.ready){return;} root.dataset.ready=\"true\";\n\n  var quals=[\n    {id:\"early1\",line:\"Oracy\",category:\"Early Years\",name:\"ESB Early Steps \u2013 Step 1 (Speaking Together)\",price:62,unit:\"group\",note:\"5\u20138 learners per group\"},\n    {id:\"early2\",line:\"Oracy\",category:\"Early Years\",name:\"ESB Early Steps \u2013 Step 2 (Speaking Out)\",price:28},\n    {id:\"speech-pre\",line:\"Oracy\",category:\"Primary Speech\",name:\"ESB Pre-Entry Level Award in Speech\",price:34},\n    {id:\"speech-e1\",line:\"Oracy\",category:\"Primary Speech\",name:\"ESB Entry Level Award in Speech (Entry 1)\",price:35},\n    {id:\"speech-e2\",line:\"Oracy\",category:\"Primary Speech\",name:\"ESB Entry Level Award in Speech (Entry 2)\",price:36},\n    {id:\"speech-e3\",line:\"Oracy\",category:\"Primary Speech\",name:\"ESB Entry Level Award in Speech (Entry 3)\",price:37},\n    {id:\"speech-g1\",line:\"Oracy\",category:\"Primary Speech\",name:\"ESB Level 1 Award in Speech (Grade 1)\",price:38},\n    {id:\"speech-g2\",line:\"Oracy\",category:\"Secondary Speech\",name:\"ESB Level 1 Award in Speech (Grade 2)\",price:39},\n    {id:\"speech-g3\",line:\"Oracy\",category:\"Secondary Speech\",name:\"ESB Level 1 Award in Speech (Grade 3)\",price:40},\n    {id:\"speech-g4\",line:\"Oracy\",category:\"Secondary Speech\",name:\"ESB Level 2 Certificate in Speech (Grade 4)\",price:41},\n    {id:\"speech-g5\",line:\"Oracy\",category:\"Secondary Speech\",name:\"ESB Level 2 Certificate in Speech (Grade 5)\",price:42},\n    {id:\"speech-g6\",line:\"Oracy\",category:\"Secondary Speech\",name:\"ESB Level 3 Certificate in Speech (Grade 6)\",price:51},\n    {id:\"speech-g8\",line:\"Oracy\",category:\"Secondary Speech\",name:\"ESB Level 3 Certificate in Speech (Grade 8)\",price:62},\n    {id:\"debate-l1\",line:\"Oracy\",category:\"Debating\",name:\"ESB Level 1 Award in Debating\",price:31},\n    {id:\"debate-l2\",line:\"Oracy\",category:\"Debating\",name:\"ESB Level 2 Award in Debating\",price:41},\n    {id:\"debate-l3\",line:\"Oracy\",category:\"Debating\",name:\"ESB Level 3 Award in Debating\",price:54},\n    {id:\"eal-e1\",line:\"Oracy\",category:\"Graded Examinations in Speech (EAL)\",name:\"ESB Entry Level Award in Graded Examinations in Speech (Entry 1) (EAL-A1)\",price:35},\n    {id:\"eal-e2\",line:\"Oracy\",category:\"Graded Examinations in Speech (EAL)\",name:\"ESB Entry Level Award in Graded Examinations in Speech (Entry 2) (EAL-A2)\",price:36},\n    {id:\"eal-e3\",line:\"Oracy\",category:\"Graded Examinations in Speech (EAL)\",name:\"ESB Entry Level Award in Graded Examinations in Speech (Entry 3) (EAL-B1)\",price:37},\n    {id:\"group-e2\",line:\"Oracy\",category:\"Group Speaking\",name:\"ESB Entry Level Award in Group Speaking (Entry 2)\",price:69,unit:\"group\",note:\"Minimum 6 learners; no upper limit\"},\n    {id:\"group-e3\",line:\"Oracy\",category:\"Group Speaking\",name:\"ESB Entry Level Award in Group Speaking (Entry 3)\",price:74,unit:\"group\",note:\"Minimum 6 learners; no upper limit\"},\n    {id:\"group-l1\",line:\"Oracy\",category:\"Group Speaking\",name:\"ESB Level 1 Award in Group Speaking\",price:80,unit:\"group\",note:\"Minimum 6 learners; no upper limit\"},\n    {id:\"travel-l3\",line:\"Oracy\",category:\"Travel and Tourism\",name:\"ESB Level 3 Award in Travel and Tourism Oral Communication Skills for Overseas Resort Representatives\",price:51},\n    {id:\"presentation-l4\",line:\"Oracy\",category:\"Professional Presentation Skills\",name:\"ESB Level 4 Award in Professional Presentation Skills\",price:69},\n    {id:\"send-e1-first\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in First Steps in Communicating with Others (Entry 1)\",price:51},\n    {id:\"send-e1-oral\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Oral Communication with Others (Entry 1)\",price:51},\n    {id:\"send-e1-music\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Communicating with Music (Entry 1)\",price:51},\n    {id:\"send-e1-drama\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Communicating with Drama (Entry 1)\",price:51},\n    {id:\"send-e1-art\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Communicating with Art (Entry 1)\",price:51},\n    {id:\"send-e1-others\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Communicating with Others (Entry 1)\",price:51},\n    {id:\"send-e1-independent\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Independent Communication Skills (Entry 1)\",price:51},\n    {id:\"send-e1-developing\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Developing Independent Communication Skills (Entry 1)\",price:51},\n    {id:\"send-e1-interviews\",line:\"Oracy\",category:\"SEND \u2013 Entry 1\",name:\"ESB Entry Level Award in Introducing Oral Skills for Interviews (Entry 1)\",price:51},\n    {id:\"send-e2-interview\",line:\"Oracy\",category:\"SEND \u2013 Entry 2\",name:\"ESB Entry Level Award in Developing Oral Interview Skills (Entry 2)\",price:51},\n    {id:\"send-e2-community\",line:\"Oracy\",category:\"SEND \u2013 Entry 2\",name:\"ESB Entry Level Award in Oral Communication in the Community (Entry 2)\",price:51},\n    {id:\"send-e2-team\",line:\"Oracy\",category:\"SEND \u2013 Entry 2\",name:\"ESB Entry Level Award in Preparing for Performing within a Team (Entry 2)\",price:51},\n    {id:\"send-e3-interview\",line:\"Oracy\",category:\"SEND \u2013 Entry 3\",name:\"ESB Entry Level Award in Oral Interview Skills (Entry 3)\",price:51},\n    {id:\"send-e3-reading\",line:\"Oracy\",category:\"SEND \u2013 Entry 3\",name:\"ESB Entry Level Award in Reading to a Child (Entry 3)\",price:51},\n    {id:\"employability-e1\",line:\"Oracy\",category:\"SEND \u2013 Inspiring Confidence in Employability\",name:\"ESB Entry Level Award in Inspiring Confidence in Employability (Entry 1)\",price:55},\n    {id:\"employability-e2\",line:\"Oracy\",category:\"SEND \u2013 Inspiring Confidence in Employability\",name:\"ESB Entry Level Award in Inspiring Confidence in Employability (Entry 2)\",price:55},\n    {id:\"employability-e3\",line:\"Oracy\",category:\"SEND \u2013 Inspiring Confidence in Employability\",name:\"ESB Entry Level Award in Inspiring Confidence in Employability (Entry 3)\",price:55},\n    {id:\"sl1\",line:\"ESOL Skills for Life\",category:\"Entry 1\",name:\"ESB Entry Level Award in ESOL Skills for Life (Speaking and Listening) (Entry 1)\",price:45,online:40,external:46,assess:11},\n    {id:\"r1\",line:\"ESOL Skills for Life\",category:\"Entry 1\",name:\"ESB Entry Level Award in ESOL Skills for Life (Reading) (Entry 1)\",price:16,external:18,mark:2},\n    {id:\"w1\",line:\"ESOL Skills for Life\",category:\"Entry 1\",name:\"ESB Entry Level Award in ESOL Skills for Life (Writing) (Entry 1)\",price:16,external:20,mark:2},\n    {id:\"sl2\",line:\"ESOL Skills for Life\",category:\"Entry 2\",name:\"ESB Entry Level Award in ESOL Skills for Life (Speaking and Listening) (Entry 2)\",price:45,online:40,external:46,assess:12},\n    {id:\"r2\",line:\"ESOL Skills for Life\",category:\"Entry 2\",name:\"ESB Entry Level Award in ESOL Skills for Life (Reading) (Entry 2)\",price:16,external:18,mark:2},\n    {id:\"w2\",line:\"ESOL Skills for Life\",category:\"Entry 2\",name:\"ESB Entry Level Award in ESOL Skills for Life (Writing) (Entry 2)\",price:16,external:20,mark:2},\n    {id:\"sl3\",line:\"ESOL Skills for Life\",category:\"Entry 3\",name:\"ESB Entry Level Award in ESOL Skills for Life (Speaking and Listening) (Entry 3)\",price:45,online:40,external:46,assess:14},\n    {id:\"r3\",line:\"ESOL Skills for Life\",category:\"Entry 3\",name:\"ESB Entry Level Award in ESOL Skills for Life (Reading) (Entry 3)\",price:16,external:18,mark:2},\n    {id:\"w3\",line:\"ESOL Skills for Life\",category:\"Entry 3\",name:\"ESB Entry Level Award in ESOL Skills for Life (Writing) (Entry 3)\",price:16,external:20,mark:2},\n    {id:\"sll1\",line:\"ESOL Skills for Life\",category:\"Level 1\",name:\"ESB Level 1 Award in ESOL Skills for Life (Speaking and Listening)\",price:52,online:48,external:56,assess:15},\n    {id:\"rl1\",line:\"ESOL Skills for Life\",category:\"Level 1\",name:\"ESB Level 1 Award in ESOL Skills for Life (Reading)\",price:17,external:19,mark:3},\n    {id:\"wl1\",line:\"ESOL Skills for Life\",category:\"Level 1\",name:\"ESB Level 1 Award in ESOL Skills for Life (Writing)\",price:17,external:21,mark:3},\n    {id:\"sll2\",line:\"ESOL Skills for Life\",category:\"Level 2\",name:\"ESB Level 2 Award in ESOL Skills for Life (Speaking and Listening)\",price:52,online:48,external:56,assess:17},\n    {id:\"rl2\",line:\"ESOL Skills for Life\",category:\"Level 2\",name:\"ESB Level 2 Award in ESOL Skills for Life (Reading)\",price:17,external:19,mark:3},\n    {id:\"wl2\",line:\"ESOL Skills for Life\",category:\"Level 2\",name:\"ESB Level 2 Award in ESOL Skills for Life (Writing)\",price:17,external:21,mark:3},\n    {id:\"intA1\",line:\"ESOL International\",name:\"ESB Entry Level Certificate ESOL International All Modes Entry 1 (A1)\",price:45},\n    {id:\"intA2\",line:\"ESOL International\",name:\"ESB Entry Level Certificate ESOL International All Modes Entry 2 (A2)\",price:45},\n    {id:\"intB1\",line:\"ESOL International\",name:\"ESB Entry Level Certificate in ESOL International All Modes - (B1)\",price:53},\n    {id:\"intB2\",line:\"ESOL International\",name:\"ESB Level 1 Certificate in ESOL International All Modes - (B2)\",price:61},\n    {id:\"intC1\",line:\"ESOL International\",name:\"ESB Level 2 Certificate in ESOL International All Modes - (C1)\",price:66},\n    {id:\"intC2\",line:\"ESOL International\",name:\"ESB Level 3 Certificate in ESOL International All Modes - (C2)\",price:71}\n  ];\n\n  var state={stage:1,line:null,model:null,selected:[],cohorts:{},modal:false,quoteReference:\"\"};\n  var stepsAll=[{stage:1,label:\"Product line\"},{stage:2,label:\"Current delivery\"},{stage:3,label:\"Qualifications\"},{stage:4,label:\"Cohorts\"},{stage:5,label:\"Your estimate\"}];\n  var esc=function(v){return String(v==null?\"\":v).replace(\/[&<>\"']\/g,function(c){return {\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",\"\\\"\":\"&quot;\",\"'\":\"&#39;\"}[c];}).replace(\/\\r?\\n\/g,\"&#10;\");};\n  var money=function(n){return new Intl.NumberFormat(\"en-GB\",{style:\"currency\",currency:\"GBP\",maximumFractionDigits:0}).format(n);};\n  var duration=function(n){var h=Math.floor(n\/60),m=n%60,a=[];if(h)a.push(h.toLocaleString()+\" \"+(h===1?\"hour\":\"hours\"));if(m)a.push(m+\" \"+(m===1?\"minute\":\"minutes\"));return a.join(\" \")||\"0 minutes\";};\n  var available=function(){return quals.filter(function(q){return q.line===state.line;});};\n  var chosen=function(){return quals.filter(function(q){return state.selected.indexOf(q.id)>-1;});};\n  var visibleSteps=function(){return state.line?(state.line!==\"ESOL Skills for Life\"?stepsAll.filter(function(s){return s.stage!==2;}):stepsAll):stepsAll;};\n  var metrics=function(){\n    var c=chosen(),base=0,online=0,marking=0,assessing=0,verification=0,externalCost=0;\n    c.forEach(function(q){var n=state.cohorts[q.id]||0;base+=n*q.price;online+=n*Math.max(0,q.price-(q.online==null?q.price:q.online));marking+=n*(q.mark||0);assessing+=n*(q.assess||0);verification+=n;externalCost+=n*(q.external||0);});\n    var slTotal=state.line===\"ESOL Skills for Life\"?c.filter(function(q){return q.online!=null;}).reduce(function(s,q){return s+(state.cohorts[q.id]||0)*q.price;},0):0;\n    var topup=slTotal>0?Math.max(0,520-slTotal):0,total=base+topup;\n    return {base:base,online:online,marking:marking,assessing:assessing,verification:verification,externalCost:externalCost,externalSaving:Math.max(0,externalCost-total),topup:topup,total:total};\n  };\n  var modelLabel=function(){return {internal:\"Internal AO\",external:\"External AO\",scratch:\"Starting ESOL provision from scratch\"}[state.model]||\"Not applicable\";};\n  function quotePayload(){\n    var m=metrics(),c=chosen(),internal=state.model===\"internal\",showTime=state.line===\"ESOL Skills for Life\"?state.model!==\"external\":false;\n    var qLines=c.map(function(q){var n=state.cohorts[q.id]||0;return q.name+\" | \"+n+\" \"+(q.unit?\"groups\":\"learners\")+\" x \"+money(q.price)+\" = \"+money(n*q.price);});\n    var b=[];\n    if(showTime){if(m.marking)b.push(duration(m.marking)+\" estimated marking time saved\");}\n    if(showTime){if(m.assessing)b.push(duration(m.assessing)+\" estimated assessment time saved\");}\n    if(internal){if(m.verification)b.push(duration(m.verification)+\" estimated internal verification time saved\");}\n    if(internal)b.push(\"Average annual centre retainer saving: \u00a3850\");\n    if(m.online)b.push(\"Potential online Speaking and Listening saving: \"+money(m.online));\n    if(m.total>10000)b.push(\"Up to \u00a3915 in centre registration and tutor training value\");\n    var full=qLines.slice();\n    if(m.topup)full.push(\"Minimum fee top-up: \"+money(m.topup));\n    full.push(\"Estimated qualification cost: \"+money(m.total));\n    if(state.model===\"external\"){if(m.externalCost)full.push(\"Potential external AO saving: \"+money(m.externalSaving));}\n    if(b.length)full.push(\"Additional benefits:\\n\"+b.join(\"\\n\"));\n    return {academic_year:\"2026\/27\",benefits_summary:b.join(\"\\n\"),centre_name:\"\",esol_delivery_model:state.line===\"ESOL Skills for Life\"?modelLabel():\"Not applicable\",first_name:\"\",last_name:\"\",product_line:state.line||\"\",qualification_breakdown:qLines.join(\"\\n\"),quote_breakdown:full.join(\"\\n\\n\"),quote_date:new Date().toISOString().slice(0,10),quote_reference:state.quoteReference,quote_total:m.total.toFixed(2),work_email:\"\"};\n  }\n  function hiddenInputs(){var p=quotePayload();return [\"academic_year\",\"benefits_summary\",\"esol_delivery_model\",\"product_line\",\"qualification_breakdown\",\"quote_breakdown\",\"quote_date\",\"quote_reference\",\"quote_total\"].map(function(k){return '<input type=\"hidden\" name=\"'+k+'\" value=\"'+esc(p[k])+'\">';}).join(\"\");}\n  function progress(){var s=visibleSteps(),current=s.findIndex(function(x){return x.stage===state.stage;});return '<nav class=\"esb-progress\" aria-label=\"Quote progress\">'+s.map(function(x,i){var cls=i===current?\"esb-current\":i<current?\"esb-complete esb-clickable\":\"\";return '<button type=\"button\" class=\"'+cls+'\" data-stage=\"'+x.stage+'\" '+(i<current?'aria-label=\"Return to '+esc(x.label)+'\"':'disabled')+'><i>'+(i<current?'\u2713':i+1)+'<\/i><span>'+esc(x.label)+'<\/span><\/button>';}).join(\"\")+\"<\/nav>\";}\n  function stageOne(){var lines=[\"Oracy\",\"ESOL Skills for Life\",\"ESOL International\"];return '<h2>What would you like a quote for?<\/h2><p class=\"esb-muted\">Select one product line to get started.<\/p><div class=\"esb-cards\">'+lines.map(function(v){var d=v===\"Oracy\"?\"Speech, presentation and group qualifications\":v===\"ESOL Skills for Life\"?\"Reading, Writing and Speaking & Listening\":\"International English language qualifications\";return '<button type=\"button\" class=\"esb-card\" data-line=\"'+esc(v)+'\"><span class=\"esb-radio\"><\/span><b>'+esc(v)+'<\/b><small>'+esc(d)+'<\/small><\/button>';}).join(\"\")+\"<\/div>\";}\n  function stageTwo(){var models=[[\"internal\",\"Through an internal awarding organisation\"],[\"external\",\"Through an external awarding organisation\"],[\"scratch\",\"We\u2019re starting ESOL provision from scratch\"]];return '<h2>How do you currently deliver your ESOL Skills for Life assessments?<\/h2><p class=\"esb-muted\">This helps us show only the benefits relevant to your centre.<\/p><div class=\"esb-cards\">'+models.map(function(x){return '<button type=\"button\" class=\"esb-card '+(state.model===x[0]?\"esb-selected\":\"\")+'\" data-model=\"'+x[0]+'\"><span class=\"esb-radio\"><\/span><b>'+esc(x[1])+'<\/b><\/button>';}).join(\"\")+\"<\/div>\";}\n  function qualLabel(q){return '<label><input type=\"checkbox\" data-qual=\"'+q.id+'\" '+(state.selected.indexOf(q.id)>-1?\"checked\":\"\")+'><span><b>'+esc(q.name)+'<\/b>'+(q.unit?'<small>Charged per group<\/small>':\"\")+'<\/span><\/label>';}\n  function stageThree(){var a=available(),cats=[];a.forEach(function(q){if(q.category){if(cats.indexOf(q.category)<0)cats.push(q.category);}});var all=a.length?a.every(function(q){return state.selected.indexOf(q.id)>-1;}):false;var tools=state.line===\"ESOL Skills for Life\"?'<div class=\"esb-list-tools\"><span>'+state.selected.length+' of '+a.length+' selected<\/span><button type=\"button\" data-select-all=\"1\">'+(all?\"Clear all\":\"Select all\")+'<\/button><\/div>':\"\";var list=cats.length?cats.map(function(cat){return '<section class=\"esb-family\"><h3>'+esc(cat)+'<\/h3>'+a.filter(function(q){return q.category===cat;}).map(qualLabel).join(\"\")+'<\/section>';}).join(\"\"):a.map(qualLabel).join(\"\");return '<h2>Select your qualifications<\/h2><p class=\"esb-muted\">Select as many as you need. Prices are shown in your final estimate.<\/p>'+tools+'<div class=\"esb-list\">'+list+'<\/div>';}\n  function stageFour(){return '<h2>Tell us your cohort size<\/h2><p class=\"esb-muted\">Enter a whole number for each selected qualification.<\/p><div class=\"esb-cohorts\">'+chosen().map(function(q){return '<label><span class=\"esb-cohort-copy\"><b>'+esc(q.name)+'<\/b><small>'+esc(q.note||(\"Price calculated per \"+(q.unit||\"learner\")))+'<\/small><\/span><span class=\"esb-number\"><input aria-label=\"'+esc(q.name)+' cohort\" data-cohort=\"'+q.id+'\" min=\"0\" step=\"1\" type=\"number\" value=\"'+(state.cohorts[q.id]||\"\")+'\"><i>'+(q.unit?\"groups\":\"learners\")+'<\/i><\/span><\/label>';}).join(\"\")+\"<\/div>\";}\n  function benefitsHtml(m){var internal=state.model===\"internal\",showTime=state.line===\"ESOL Skills for Life\"?state.model!==\"external\":false;var markingBenefit=showTime?m.marking:0,assessmentBenefit=showTime?m.assessing:0;var has=state.line===\"ESOL Skills for Life\"?(markingBenefit||assessmentBenefit||internal||m.online||m.total>10000):false;if(!has)return \"\";return '<div class=\"esb-benefits\"><h3>Your additional benefits<\/h3>'+(markingBenefit?'<p><b>'+duration(m.marking)+'<\/b> estimated marking time saved<\/p>':\"\")+(assessmentBenefit?'<p><b>'+duration(m.assessing)+'<\/b> estimated assessment time saved<\/p>':\"\")+(internal?(m.verification?'<p><b>'+duration(m.verification)+'<\/b> estimated internal verification time saved<\/p><button type=\"button\" class=\"esb-how\" data-modal=\"open\">How do we work this out?<\/button>':\"\"):\"\")+(internal?'<p><b>Save an average of \u00a3850 annually on centre retainer fees<\/b><\/p>':\"\")+(m.online?'<p class=\"esb-tip\"><b>Did you know?<\/b> You could make an additional saving of <b>'+money(m.online)+'<\/b> by taking your selected Speaking & Listening qualifications online.<\/p>':\"\")+(m.total>10000?'<p><b>Up to \u00a3915<\/b> in centre registration and tutor training value<\/p>':\"\")+'<\/div>';}\n  function stageFive(){var m=metrics(),c=chosen();var rows=c.map(function(q){var n=state.cohorts[q.id]||0;return '<div class=\"esb-row\"><span>'+esc(q.name)+'<small>'+n+' \u00d7 '+money(q.price)+'<\/small><\/span><b>'+money(n*q.price)+'<\/b><\/div>';}).join(\"\");var breakdown=c.length>=3?'<details><summary><span>See full quote breakdown<\/span><small>'+c.length+' qualifications<\/small><\/summary><div class=\"esb-details-body\">'+rows+'<\/div><\/details>':rows;var saving=state.model===\"external\"?(m.externalCost?'<div class=\"esb-row esb-saving\"><span><b>You could save up to '+money(m.externalSaving)+' by switching to ESB from your current external AO<\/b><small>Based on equivalent face-to-face prices for your selected qualifications and cohorts<\/small><\/span><b>'+money(m.externalSaving)+'<\/b><\/div>':\"\"):\"\";return '<h2>Your personalised quote from ESB<\/h2><div class=\"esb-result\"><div class=\"esb-quote\"><div class=\"esb-total\"><span>Estimated qualification cost<\/span><strong>'+money(m.total)+'<\/strong><small>Academic Year 2026\/27 Price<\/small><\/div><h3>Quote breakdown<\/h3>'+saving+breakdown+(m.topup?'<div class=\"esb-row\"><span>Minimum fee top-up<\/span><b>'+money(m.topup)+'<\/b><\/div>':\"\")+benefitsHtml(m)+'<\/div><form class=\"esb-form\" action=\"https:\/\/analytics-eu.clickdimensions.com\/forms\/h\/a8ka6T0h470qY6TYErFCGw\" method=\"post\"><h3>Secure your quote today<\/h3><p>Leave your details and our team will be in touch.<\/p><label>First name<input name=\"first_name\" autocomplete=\"given-name\" required><\/label><label>Last name<input name=\"last_name\" autocomplete=\"family-name\" required><\/label><label>Centre name<input name=\"centre_name\" autocomplete=\"organization\" required><\/label><label>Work email<input name=\"work_email\" autocomplete=\"email\" required type=\"email\"><\/label>'+hiddenInputs()+'<button class=\"esb-primary\" type=\"submit\">Submit enquiry<\/button><small>ESB will endeavour to respond to your quote request within 48 hours. We will use your details to respond to this enquiry.<\/small><\/form><\/div>';}\n  function footer(){if(state.stage===1||state.stage===5)return \"\";var ok=state.stage===2?!!state.model:state.stage===3?state.selected.length>0:chosen().every(function(q){return (state.cohorts[q.id]||0)>0;});return '<div class=\"esb-footer\"><button type=\"button\" class=\"esb-back\" data-back=\"1\">\u2190 Back<\/button><button type=\"button\" class=\"esb-primary\" data-next=\"1\" '+(ok?\"\":\"disabled\")+'>Continue \u2192<\/button><\/div>';}\n  function modal(){if(!state.modal)return \"\";return '<div class=\"esb-modal-bg\" data-modal=\"close\"><section class=\"esb-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"esb-modal-title\"><button type=\"button\" class=\"esb-close\" data-modal=\"close\" aria-label=\"Close explanation\">\u00d7<\/button><h2 id=\"esb-modal-title\">How do we work this out?<\/h2><p>These estimates apply your selected learner numbers to the average time saved for each qualification:<\/p><ul><li><b>Marking:<\/b> 2 minutes per learner for Entry 1\u20133 Reading and Writing, and 3 minutes per learner at Levels 1\u20132.<\/li><li><b>Assessment:<\/b> 11 minutes per learner at Entry 1, 12 at Entry 2, 14 at Entry 3, 15 at Level 1 and 17 at Level 2 for Speaking and Listening.<\/li><li><b>Internal verification:<\/b> 1 minute per learner for every selected mode at every level.<\/li><\/ul><button type=\"button\" class=\"esb-primary\" data-modal=\"close\">Close<\/button><\/section><\/div>';}\n  function render(){var body=state.stage===1?stageOne():state.stage===2?stageTwo():state.stage===3?stageThree():state.stage===4?stageFour():stageFive();root.innerHTML='<div class=\"esb-shell\">'+progress()+'<section class=\"esb-panel\">'+body+footer()+'<\/section><\/div>'+modal();}\n  function goBack(){var s=visibleSteps(),i=s.findIndex(function(x){return x.stage===state.stage;});if(i>0){state.stage=s[i-1].stage;render();}}\n  root.addEventListener(\"click\",function(e){var t=e.target.closest(\"button,[data-modal]\");if(!t)return;if(!root.contains(t))return;if(t.dataset.line){state.line=t.dataset.line;state.model=null;state.selected=[];state.cohorts={};state.stage=state.line===\"ESOL Skills for Life\"?2:3;render();return;}if(t.dataset.model){state.model=t.dataset.model;render();return;}if(t.dataset.selectAll){var a=available(),all=a.every(function(q){return state.selected.indexOf(q.id)>-1;});state.selected=all?[]:a.map(function(q){return q.id;});render();return;}if(t.dataset.stage){var target=Number(t.dataset.stage),s=visibleSteps(),cur=s.findIndex(function(x){return x.stage===state.stage;}),dest=s.findIndex(function(x){return x.stage===target;});if(dest<cur){state.stage=target;render();}return;}if(t.dataset.back){goBack();return;}if(t.dataset.next){state.stage+=1;if(state.stage===5){if(!state.quoteReference){var d=new Date().toISOString().replace(\/\\D\/g,\"\").slice(0,14);state.quoteReference=\"ESB-Q-\"+d+\"-\"+Math.random().toString(36).slice(2,6).toUpperCase();}}render();return;}if(t.dataset.modal===\"open\"){state.modal=true;render();return;}if(t.dataset.modal===\"close\"){state.modal=false;render();}});\n  root.addEventListener(\"change\",function(e){var t=e.target;if(t.dataset.qual){if(t.checked){if(state.selected.indexOf(t.dataset.qual)<0)state.selected.push(t.dataset.qual);}if(!t.checked)state.selected=state.selected.filter(function(id){return id!==t.dataset.qual;});render();}});\n  root.addEventListener(\"input\",function(e){var t=e.target;if(t.dataset.cohort){state.cohorts[t.dataset.cohort]=Math.max(0,Math.floor(Number(t.value)||0));var next=root.querySelector('[data-next=\"1\"]');if(next)next.disabled=!chosen().every(function(q){return (state.cohorts[q.id]||0)>0;});}});\n  render();\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"wp-custom-template-esb-template","meta":{"footnotes":""},"class_list":["post-19929","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/pages\/19929","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/comments?post=19929"}],"version-history":[{"count":1,"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/pages\/19929\/revisions"}],"predecessor-version":[{"id":19930,"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/pages\/19929\/revisions\/19930"}],"wp:attachment":[{"href":"https:\/\/esbuk.org\/index.php\/wp-json\/wp\/v2\/media?parent=19929"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}