1<!DOCTYPE html><html lang="en"><head> 2 <meta charset="utf-8"> 3 <!-- Domain split: must run before any other resources (portal host â student/partner portal paths). --> 4
4<script> 5 (function () { 6 var portalRoots = ['studyabroad.center']; 7 var portalSite = 'https://studyabroad.center'; 8 var legacyPortalHosts = { 9 'canameducation.co.in': 1, 10 'www.canameducation.co.in': 1, 11 'languagescoaching.center': 1, 12 'www.languagescoaching.center': 1 13 }; 14 function isPortalHost(host) { 15 if (legacyPortalHosts[host]) return true; 16 for (var i = 0; i < portalRoots.length; i++) { 17 var portalRoot = portalRoots[i]; 18 if ( 19 host === portalRoot || 20 host === 'www.' + portalRoot || 21 host.slice(-(portalRoot.length + 1)) === '.' + portalRoot 22 ) { 23 return true; 24 } 25 } 26 return false; 27 } 28 function extractPartnerSlug(host) { 29 for (var i = 0; i < portalRoots.length; i++) { 30 var root = portalRoots[i]; 31 if (host === root || host === 'www.' + root) return null; 32 var suffix = '.' + root; 33 if (host.length > suffix.length && host.slice(-suffix.length) === suffix) { 34 var sub = host.slice(0, -suffix.length); 35 if (sub && sub !== 'www' && sub.indexOf('.') === -1) return sub; 36 } 37 } 38 return null; 39 } 40 function mapPartnerSubdomainPath(slug, path) { 41 if (path === '/p' || path.indexOf('/p/') === 0) return null; 42 if (path === '/student-portal' || path.indexOf('/student-portal/') === 0) return null; 43 if (path === '/partner-live-admin' || path.indexOf('/partner-live-admin/') === 0) return null; 44 if (path === '/live-class-marketing-admin' || path.indexOf('/live-class-marketing-admin/') === 0) return null; 45 if (path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0) return null; 46 if (path === '/prep-lab' || path.indexOf('/prep-lab/') === 0) return null; 47 if (path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0) return null; 48 if (path === '/checkout' || path.indexOf('/checkout/') === 0) return null; 49 if (path === '/auth' || path.indexOf('/auth/') === 0) return null; 50 if (path === '/') return '/p/' + slug; 51 if (path === '/login' || path.indexOf('/login/') === 0) return '/p/' + slug + path; 52 if (path === '/student-login' || path.indexOf('/student-login') === 0) return '/p/' + slug + path; 53 if (path === '/registration-thank-you' || path.indexOf('/registration-thank-you/') === 0) { 54 return '/p/' + slug + path; 55 } 56 return null; 57 } 58 function legacyPartnerPathRedirect(host, path, qs) { 59 for (var i = 0; i < portalRoots.length; i++) { 60 var root = portalRoots[i]; 61 if (host !== root && host !== 'www.' + root) continue; 62 if (path === '/' || path.indexOf('/student-portal') === 0 || path.indexOf('/partner-live-admin') === 0 || 63 path.indexOf('/live-class-marketing-admin') === 0 || path === '/p' || path.indexOf('/p/') === 0 || 64 path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0 || 65 path === '/prep-lab' || path.indexOf('/prep-lab/') === 0 || 66 path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0 || 67 path === '/checkout' || path.indexOf('/checkout/') === 0) return null; 68 var m = path.match(/^\/([a-z0-9-]+)$/); 69 if (m) return 'https://' + m[1] + '.' + root + qs; 70 } 71 return null; 72 } 73 var host = (window.location.hostname || '').toLowerCase(); 74 var path = window.location.pathname || '/'; 75 if (path.charAt(0) !== '/') path = '/' + path; 76 path = path.replace(/\/+$/, '') || '/'; 77 var qs = window.location.search || ''; 78 var isLocal = host === 'localhost' || host === '127.0.0.1'; 79 var prepLabSite = 'https://canameducation.info'; 80 var isPrepLabHost = host === 'canameducation.info' || host === 'www.canameducation.info'; 81 var isPrepLabPath = 82 path === '/prep-lab' || path.indexOf('/prep-lab/') === 0 || 83 path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0; 84 if (!isLocal && isPrepLabHost && !isPrepLabPath) { 85 document.documentElement.setAttribute('data-portal-redirect', 'pending'); 86 window.location.replace(prepLabSite + '/prep-lab' + qs); 87 return; 88 } 89 if (!isLocal && isPrepLabPath && !isPrepLabHost) { 90 document.documentElement.setAttribute('data-portal-redirect', 'pending'); 91 window.location.replace(prepLabSite + path + qs); 92 return; 93 } 94 if (!isLocal && legacyPortalHosts[host]) { 95 document.documentElement.setAttribute('data-portal-redirect', 'pending');
96 window.location.replace(portalSite + path + qs); 97 return; 98 } 99 var partnerSlug = extractPartnerSlug(host); 100 if (!isLocal && partnerSlug) { 101 var mappedPath = mapPartnerSubdomainPath(partnerSlug, path); 102 if (mappedPath) { 103 document.documentElement.setAttribute('data-portal-redirect', 'pending'); 104 window.location.replace(window.location.protocol + '//' + host + mappedPath + qs); 105 return; 106 } 107 } 108 var legacyPartnerUrl = legacyPartnerPathRedirect(host, path, qs); 109 if (!isLocal && legacyPartnerUrl) { 110 document.documentElement.setAttribute('data-portal-redirect', 'pending'); 111 window.location.replace(legacyPartnerUrl); 112 return; 113 } 114 var onPortal = isPortalHost(host); 115 var isPortalPath = 116 path === '/student-portal' || path.indexOf('/student-portal/') === 0 || 117 path === '/partner-live-admin' || path.indexOf('/partner-live-admin/') === 0 || 118 path === '/live-class-marketing-admin' || path.indexOf('/live-class-marketing-admin/') === 0 || 119 path === '/p' || path.indexOf('/p/') === 0 || 120 path === '/auth' || path.indexOf('/auth/') === 0; 121 var isMarketingPath = path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0; 122 if (!isLocal && onPortal && !isPortalPath && !isMarketingPath && !partnerSlug) { 123 document.documentElement.setAttribute('data-portal-redirect', 'pending'); 124 var portalLanding = '/become-a-partner'; 125 var target = portalSite + (path === '/' ? portalLanding : '/student-portal') + qs; 126 window.location.replace(target); 127 } 128 })(); 129 </script>
129 130 <style>html[data-portal-redirect="pending"] body { visibility: hidden; }</style> 131 <title>Testprep GPT | IELTS Practice Test</title> 132 133 <!-- Primary Meta Tags --> 134 <meta name="description" content="Boost your IELTS score with TestprepGPT! Get AI-powered study tool, free mock tests & expert guidance. Start your personalized IELTS prep today!"> 135 <meta name="keywords" content="AI-Powered IELTS Practice Tests, AI-based IELTS prep, free IELTS mock tests, IELTS practice tests, online IELTS preparation, IELTS practice with AI"> 136 <meta name="author" content="TestprepGPT"> 137 <meta name="robots" content="index, follow"> 138 <meta name="googlebot" content="index, follow"> 139 <meta name="theme-color" content="#4F46E5"> 140 141 <!-- Canonical URL: defaults for /; inline script below sets path before Angular loads (crawler-safe) --> 142 <link rel="canonical" href="https://testprepgpt.ai/" id="canonical-url"> 143 144 <!-- Open Graph --> 145 <meta property="og:type" content="website"> 146 <meta property="og:site_name" content="TestprepGPT"> 147 <meta property="og:title" content="Testprep GPT | IELTS Practice Test"> 148 <meta property="og:description" content="Boost your IELTS score with TestprepGPT! Get AI-powered study tool, free mock tests & expert guidance. Start your personalized IELTS prep today!"> 149 <meta property="og:image" content="https://testprepgpt.ai/assets/images/gpt-og.png" id="og-image"> 150 <meta property="og:image:width" content="1200" id="og-image-width"> 151 <meta property="og:image:height" content="630" id="og-image-height"> 152 <meta property="og:image:alt" content="TestprepGPT" id="og-image-alt"> 153 <meta property="og:url" content="https://testprepgpt.ai/" id="og-url"> 154
154<script> 155 (function () { 156 var portalRoots = ['studyabroad.center']; 157 var portalSite = 'https://studyabroad.center'; 158 var legacyPortalHosts = { 159 'canameducation.co.in': 1, 160 'www.canameducation.co.in': 1, 161 'languagescoaching.center': 1, 162 'www.languagescoaching.center': 1 163 }; 164 function isPortalHost(host) { 165 if (legacyPortalHosts[host]) return true; 166 for (var i = 0; i < portalRoots.length; i++) { 167 var portalRoot = portalRoots[i]; 168 if ( 169 host === portalRoot || 170 host === 'www.' + portalRoot || 171 host.slice(-(portalRoot.length + 1)) === '.' + portalRoot 172 ) { 173 return true; 174 } 175 } 176 return false; 177 } 178 function extractPartnerSlug(host) { 179 for (var i = 0; i < portalRoots.length; i++) { 180 var root = portalRoots[i]; 181 if (host === root || host === 'www.' + root) return null; 182 var suffix = '.' + root; 183 if (host.length > suffix.length && host.slice(-suffix.length) === suffix) { 184 var sub = host.slice(0, -suffix.length); 185 if (sub && sub !== 'www' && sub.indexOf('.') === -1) return sub; 186 } 187 } 188 return null; 189 } 190 function mapPartnerSubdomainPath(slug, path) { 191 if (path === '/p' || path.indexOf('/p/') === 0) return null; 192 if (path === '/student-portal' || path.indexOf('/student-portal/') === 0) return null; 193 if (path === '/partner-live-admin' || path.indexOf('/partner-live-admin/') === 0) return null; 194 if (path === '/live-class-marketing-admin' || path.indexOf('/live-class-marketing-admin/') === 0) return null; 195 if (path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0) return null; 196 if (path === '/prep-lab' || path.indexOf('/prep-lab/') === 0) return null; 197 if (path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0) return null; 198 if (path === '/checkout' || path.indexOf('/checkout/') === 0) return null; 199 if (path === '/auth' || path.indexOf('/auth/') === 0) return null; 200 if (path === '/') return '/p/' + slug; 201 if (path === '/login' || path.indexOf('/login/') === 0) return '/p/' + slug + path; 202 if (path === '/student-login' || path.indexOf('/student-login') === 0) return '/p/' + slug + path; 203 if (path === '/registration-thank-you' || path.indexOf('/registration-thank-you/') === 0) { 204 return '/p/' + slug + path; 205 } 206 return null; 207 } 208 function legacyPartnerPathRedirect(host, path, qs) { 209 for (var i = 0; i < portalRoots.length; i++) { 210 var root = portalRoots[i]; 211 if (host !== root && host !== 'www.' + root) continue; 212 if (path === '/' || path.indexOf('/student-portal') === 0 || path.indexOf('/partner-live-admin') === 0 || 213 path.indexOf('/live-class-marketing-admin') === 0 || path === '/p' || path.indexOf('/p/') === 0 || 214 path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0 || 215 path === '/prep-lab' || path.indexOf('/prep-lab/') === 0 || 216 path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0 || 217 path === '/checkout' || path.indexOf('/checkout/') === 0) return null; 218 var m = path.match(/^\/([a-z0-9-]+)$/); 219 if (m) return 'https://' + m[1] + '.' + root + qs; 220 } 221 return null; 222 } 223 var mainSite = 'https://testprepgpt.ai'; 224 var prepLabSite = 'https://canameducation.info'; 225 var host = (window.location.hostname || '').toLowerCase(); 226 var path = window.location.pathname || '/'; 227 if (path.charAt(0) !== '/') path = '/' + path; 228 path = path.replace(/\/+$/, '') || '/'; 229 var qs = window.location.search || ''; 230 var isLocal = host === 'localhost' || host === '127.0.0.1'; 231 var isPrepLabHost = host === 'canameducation.info' || host === 'www.canameducation.info'; 232 var isPrepLabPath = 233 path === '/prep-lab' || path.indexOf('/prep-lab/') === 0 || 234 path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0;
235 var partnerSlug = extractPartnerSlug(host); 236 var onPortal = isPortalHost(host); 237 var isPortalPath = 238 path === '/student-portal' || path.indexOf('/student-portal/') === 0 || 239 path === '/partner-live-admin' || path.indexOf('/partner-live-admin/') === 0 || 240 path === '/live-class-marketing-admin' || path.indexOf('/live-class-marketing-admin/') === 0 || 241 path === '/p' || path.indexOf('/p/') === 0 || 242 path === '/auth' || path.indexOf('/auth/') === 0; 243 var isMarketingPath = path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0; 244 if (!isLocal) { 245 if (isPrepLabHost && !isPrepLabPath) { 246 window.location.replace(prepLabSite + '/prep-lab' + qs); 247 return; 248 } 249 if (isPrepLabPath && !isPrepLabHost) { 250 window.location.replace(prepLabSite + path + qs); 251 return; 252 } 253 if (legacyPortalHosts[host]) { 254 window.location.replace(portalSite + path + qs); 255 return; 256 } 257 if (partnerSlug) { 258 var mappedPath = mapPartnerSubdomainPath(partnerSlug, path); 259 if (mappedPath) { 260 window.location.replace(window.location.protocol + '//' + host + mappedPath + qs); 261 return; 262 } 263 } 264 var legacyPartnerUrl = legacyPartnerPathRedirect(host, path, qs); 265 if (legacyPartnerUrl) { 266 window.location.replace(legacyPartnerUrl); 267 return; 268 } 269 if (onPortal && !isPortalPath && !isMarketingPath && !partnerSlug) { 270 var portalLanding = '/become-a-partner'; 271 window.location.replace(portalSite + (path === '/' ? portalLanding : '/student-portal') + qs); 272 return; 273 } 274 if ( 275 isPortalPath && 276 (host === 'testprepgpt.ai' || host === 'www.testprepgpt.ai' || 277 host.indexOf('.web.app') !== -1 || host.indexOf('.firebaseapp.com') !== -1) 278 ) { 279 window.location.replace(portalSite + path + qs); 280 return; 281 } 282 } 283 var base = isPrepLabHost || isPrepLabPath 284 ? prepLabSite 285 : (partnerSlug 286 ? (window.location.protocol + '//' + host) 287 : (onPortal ? portalSite : mainSite)); 288 var href = base + (path === '/' ? '/' : path); 289 var link = document.getElementById('canonical-url'); 290 if (link) link.setAttribute('href', href); 291 var og = document.getElementById('og-url'); 292 if (og) og.setAttribute('content', href); 293 })(); 294 </script>
294 295 296 <!-- Twitter Card --> 297 <meta name="twitter:card" content="summary_large_image" id="twitter-card"> 298 <meta name="twitter:site" content="@testprepgpt"> 299 <meta name="twitter:title" content="Testprep GPT | IELTS Practice Test" id="twitter-title"> 300 <meta name="twitter:description" content="Boost your IELTS score with TestprepGPT! Get AI-powered study tool, free mock tests & expert guidance. Start your personalized IELTS prep today!" id="twitter-description"> 301 <meta name="twitter:image" content="https://testprepgpt.ai/assets/images/gpt-og.png" id="twitter-image"> 302 303 <!-- Viewport & Base --> 304 <base href="/"> 305 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 306 307 <!-- Favicon --> 308 <link rel="icon" type="image/x-icon" href="favicon.ico" id="favicon-link"> 309 <link rel="apple-touch-icon" sizes="180x180" href="/assets/images/apple-touch-icon.png" id="apple-touch-icon-link"> 310 311 <!-- Portal branding (runs after all default meta / OG / Twitter tags) --> 312
312<script> 313 (function () { 314 var portalRoots = ['studyabroad.center']; 315 var portalSite = 'https://studyabroad.center'; 316 function isPortalHost(host) { 317 var legacyPortalHosts = { 318 'canameducation.co.in': 1, 319 'www.canameducation.co.in': 1, 320 'languagescoaching.center': 1, 321 'www.languagescoaching.center': 1 322 }; 323 if (legacyPortalHosts[host]) return true; 324 for (var i = 0; i < portalRoots.length; i++) { 325 var portalRoot = portalRoots[i]; 326 if ( 327 host === portalRoot || 328 host === 'www.' + portalRoot || 329 host.slice(-(portalRoot.length + 1)) === '.' + portalRoot 330 ) { 331 return true; 332 } 333 } 334 return false; 335 } 336 var host = (window.location.hostname || '').toLowerCase(); 337 var path = window.location.pathname || '/'; 338 if (path.charAt(0) !== '/') path = '/' + path; 339 var isPrepLabHost = host === 'canameducation.info' || host === 'www.canameducation.info'; 340 var isPrepLabPath = 341 path === '/prep-lab' || path.indexOf('/prep-lab/') === 0 || 342 path === '/prep-lab-admin' || path.indexOf('/prep-lab-admin/') === 0; 343 if (isPrepLabHost || isPrepLabPath) { 344 document.title = 'PREP LAB'; 345 return; 346 } 347 var onPortal = isPortalHost(host); 348 var isPortalPath = 349 path === '/student-portal' || path.indexOf('/student-portal/') === 0 || 350 path === '/partner-live-admin' || path.indexOf('/partner-live-admin/') === 0 || 351 path === '/live-class-marketing-admin' || path.indexOf('/live-class-marketing-admin/') === 0 || 352 path === '/p' || path.indexOf('/p/') === 0 || 353 path === '/auth' || path.indexOf('/auth/') === 0; 354 var isMarketingPath = path === '/become-a-partner' || path.indexOf('/become-a-partner/') === 0; 355 if (!onPortal && !isPortalPath && !isMarketingPath) return; 356 357 var portalTitle = 'Study Abroad Center | Student & Partner Portal'; 358 var portalDesc = 359 'Access courses, live classes, batches, and your institute dashboard on Study Abroad Center â the portal for language coaching institutes and students.'; 360 var portalKeywords = 361 'study abroad, language coaching, IELTS live classes, student portal, partner portal, institute dashboard, online language courses'; 362 if (isMarketingPath) { 363 portalTitle = 'White-Label Language Training Partner Program | Study Abroad Center'; 364 portalDesc = 365 'Launch your own branded IELTS, PTE, and language coaching business. White-label LMS, live trainers, mobile app, and full support â no content or tech build required.'; 366 portalKeywords = 367 'White Label IELTS Coaching, White Label PTE Coaching, Language Training Partner Program, IELTS Franchise Alternative, White Label LMS for Language Institutes, Language Coaching Business Solution'; 368 } 369 var portalAuthor = 'Study Abroad Center'; 370 var portalOgImage = portalSite + '/assets/icons/lcc-logo.svg'; 371 var portalTheme = '#3F37C9'; 372 373 function setMetaAttr(attr, key, value) { 374 if (!value) return; 375 var sel = attr === 'name' ? 'meta[name="' + key + '"]' : 'meta[property="' + key + '"]'; 376 var el = document.querySelector(sel); 377 if (!el) { 378 el = document.createElement('meta'); 379 if (attr === 'name') el.setAttribute('name', key); 380 else el.setAttribute('property', key); 381 document.head.appendChild(el); 382 } 383 el.setAttribute('content', value); 384 } 385 386 function setMetaById(id, value) { 387 var el = document.getElementById(id); 388 if (el && value) el.setAttribute('content', value); 389 } 390 391 document.title = portalTitle; 392 setMetaAttr('name', 'description', portalDesc); 393 setMetaAttr('name', 'keywords', portalKeywords); 394 setMetaAttr('name', 'author', portalAuthor); 395 setMetaAttr('name', 'theme-color', portalTheme); 396 setMetaAttr('property', 'og:site_name', portalAuthor); 397 setMetaAttr('property', 'og:title', portalTitle); 398 setMetaAttr('property', 'og:description', portalDesc); 399 setMetaAttr('property', 'og:image', portalOgImage); 400 setMetaAttr('property', 'og:image:width', '300'); 401 setMetaAttr('property', 'og:image:height', '300'); 402 setMetaAttr('property', 'og:image:alt', portalAuthor + ' logo'); 403 setMetaById('og-image', portalOgImage); 404 setMetaById('og-image-width', '300'); 405 setMetaById('og-image-height', '300'); 406 setMetaById('og-image-alt', portalAuthor + ' logo'); 407 setMetaById('twitter-card', 'summary'); 408 setMetaById('twitter-title', portalTitle); 409 setMetaById('twitter-description', portalDesc); 410 setMetaById('twitter-image', portalOgImage); 411 var twSite = document.querySelector('meta[name="twitter:site"]'); 412 if (twSite) twSite.parentNode.removeChild(twSite); 413 var noindex = isMarketingPath ? 'index, follow' : 'noindex, nofollow'; 414 var robotsMeta = document.querySelector('meta[name="robots"]'); 415 if (robotsMeta) robotsMeta.setAttribute('content', noindex); 416 var googlebotMeta = document.querySelector('meta[name="googlebot"]'); 417 if (googlebotMeta) googlebotMeta.setAttribute('content', noindex); 418 var favicon = document.getElementById('favicon-link'); 419 if (favicon) { 420 favicon.setAttribute('href', '/assets/icons/lcc-fav-icon.svg'); 421 favicon.setAttribute('type', 'image/svg+xml'); 422 } 423 var appleTouch = document.getElementById('apple-touch-icon-link'); 424 if (appleTouch) appleTouch.setAttribute('href', '/assets/icons/lcc-fav-icon.svg'); 425 })(); 426 </script>
426 427 428 <!-- Google Verification --> 429 <meta name="google-site-verification" content="5BiyyChO0EzDW6fg8rCsuw8HS21tTbFHoCv_wkdXlw8"> 430 431 <!-- Fonts: preconnect first, then load --> 432 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> 433 <link rel="preconnect" href="https://fonts.googleapis.com"> 434 <style type="text/css">@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2zRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv27RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2_RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2HRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2zRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv27RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2_RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2HRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2zRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;
434src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv27RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2_RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2HRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2zRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv27RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2_RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2HRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2zRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv27RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2_RNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1D
434BF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=LDIWaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU6vQTckyDQbQcCl6BIHv2HRNv7U-Jk&skey=ca4b9e62a7d41df5&v=v12) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5-fFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.
434com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn7ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn6efFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThnlufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThnhOfFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5efFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');
434unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5OfFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:300;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn6ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5-fFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn7ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn6efFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThnlufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThnhOfFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;
434src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5efFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5OfFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn6ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5-fFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn7ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn6efFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThnlufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0302-0303, U+0305, U+0307-0308, U+0310, U+0312, U+0315, U+031A, U+0326-0327, U+032C, U+032F-0330, U+0332-0333, U+0338, U+033A, U+0346, U+034D, U+0391-03A1, U+03A3-03A9, U+03B1-03C9, U+03D1, U+03D5-03D6, U+03F0-03F1, U+03F4-03F5, U+2016-2017, U+2034-2038, U+203C, U+2040, U+2043, U+2047, U+2050, U+2057, U+205F, U+2070-2071, U+2074-208E, U+2090-209C, U+20D0-20DC, U+20E1, U+20E5-20EF, U+2100-2112, U+2114-2115, U+2117-2121, U+2123-214F, U+2190, U+2192, U+2194-21AE, U+21B0-21E5, U+21F1-21F2, U+21F4-2211, U+2213-2214, U+2216-22FF, U+2308-230B, U+2310, U+2319, U+231C-2321, U+2336-237A, U+237C, U+2395, U+239B-23B7, U+23D0, U+23DC-23E1, U+2474-2475, U+25AF, U+25B3, U+25B7, U+25BD, U+25C1, U+25CA, U+25CC, U+25FB, U+266D-266F, U+27C0-27FF, U+2900-2AFF, U+2B0E-2B11, U+2B30-2B4C, U+2BFE, U+3030, U+FF5B, U+FF5D, U+1D400-1D7FF, U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThnhOfFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0001-000C, U+000E-001F, U+007F-009F, U+20DD-20E0, U+20E2-20E4, U+2150-218F, U+2190, U+2192, U+2194-2199, U+21AF, U+21E6-21F0, U+21F3, U+2218-2219, U+2299, U+22C4-22C6, U+2300-243F, U+2440-244A, U+2460-24FF, U+25A0-27BF, U+2800-28FF, U+2921-2922, U+2981, U+29BF, U+29EB, U+2B00-2BFF, U+4DC0-4DFF, U+FFF9-FFFB, U+10140-1018E, U+10190-1019C, U+101A0, U+101D0-101FD, U+102E0-102FB, U+10E60-10E7E, U+1D2C0-1D2D3, U+1D2E0-1D37F, U+1F000-1F0FF, U+1F100-1F1AD, U+1F1E6-1F1FF, U+1F30D-1F30F, U+1F315, U+1F31C, U+1F31E, U+1F320-1F32C, U+1F336, U+1F378, U+1F37D, U+1F382, U+1F393-1F39F, U+1F3A7-1F3A8, U+1F3AC-1F3AF, U+1F3C2, U+1F3C4-1F3C6, U+1F3CA-1F3CE, U+1F3D4-1F3E0, U+1F3ED, U+1F3F1-1F3F3, U+1F3F5-1F3F7, U+1F408, U+1F415, U+1F41F, U+1F426, U+1F43F, U+1F441-1F442, U+1F444, U+1F446-1F449, U+1F44C-1F44E, U+1F453, U+1F46A, U+1F47D, U+1F4A3, U+1F4B0, U+1F4B3, U+1F4B9, U+1F4BB, U+1F4BF, U+1F4C8-1F4CB, U+1F4D6, U+1F4DA, U+1F4DF, U+1F4E3-1F4E6, U+1F4EA-1F4ED, U+1F4F7, U+1F4F9-1F4FB, U+1F4FD-1F4FE, U+1F503, U+1F507-1F50B, U+1F50D, U+1F512-1F513, U+1F53E-1F54A, U+1F54F-1F5FA, U+1F610, U+1F650-1F67F, U+1F687, U+1F68D, U+1F691, U+1F694, U+1F698, U+1F6AD, U+1F6B2, U+1F6B9-1F6BA, U+1F6BC, U+1F6C6-1F6CF, U+1F6D3-1F6D7, U+1F6E0-1F6EA, U+1F6F0-1F6F3, U+1F6F7-1F6FC, U+1F700-1F7FF, U+1F800-1F80B, U+1F810-1F847, U+1F850-1F859, U+1F860-1F887, U+1F890-1F8AD, U+1F8B0-1F8BB, U+1F8C0-1F8C1, U+1F900-1F90B, U+1F93B, U+1F946, U+1F984, U+1F996, U+1F9E9, U+1FA00-1FA6F, U+1FA70-1FA7C, U+1FA80-1FA89, U+1FA8F-1FAC6, U+1FACE-1FADC, U+1FADF-1FAE9, U+1FAF0-1FAF8, U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;
434src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5efFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn5OfFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(https://fonts.gstatic.com/l/font?kit=KFOBCnqEu92Fr1ME7kSn66aGLdTylUAMQXC89YmC2DPNWuaabQuYoPsOC-chym82KThn6ufFb_LiQw&skey=a0a0114a1dcab3ac&v=v51) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style> 435 <style type="text/css">@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ.woff2) format('woff2');}@font-face{font-family:'Material Icons Outlined';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialiconsoutlined/v110/gok-H7zzDkdnRel8-DQ6KAXJ69wP1tGnf4ZGhUcel5euIg.woff2) format('woff2');}.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}.material-icons-outlined{font-family:'Material Icons Outlined';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style> 436 437 <!-- CSS: non-blocking stylesheets --> 438 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"> 439 <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/font/bootstrap-icons.css"> 440 <link href="https://unpkg.com/[email protected]/css/boxicons.min.css" rel="stylesheet"> 441 <link type="text/css" rel="stylesheet" href="https://www.gstatic.com/firebasejs/ui/6.0.1/firebase-ui-auth.css"> 442 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/6.2.0/css/flag-icons.min.css" integrity="sha512-uvXdJud8WaOlQFjlz9B15Yy2Au/bMAvz79F7Xa6OakCl2jvQPdHD0hb3dEqZRdSwG4/sknePXlE7GiarwA/9Wg==" crossorigin="anonymous" referrerpolicy="no-referrer"> 443 <!-- jsmind CSS loaded only when mindmap route is active - kept here for global fallback --> 444 <link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/style/jsmind.css"> 445 446 <!-- Google Analytics: testprepgpt.ai vs studyabroad.center (one property per hostname) --> 447
447<script> 448 (function () { 449 var MAIN_GA = 'G-GBLF0NYLM8'; 450 var PORTAL_GA = 'G-3MZ783LLBN'; 451 var portalRoots = ['studyabroad.center']; 452 var legacyPortalHosts = { 453 'canameducation.co.in': 1, 454 'www.canameducation.co.in': 1, 455 'languagescoaching.center': 1, 456 'www.languagescoaching.center': 1 457 }; 458 459 function isPortalHost(host) { 460 if (legacyPortalHosts[host]) return true; 461 for (var i = 0; i < portalRoots.length; i++) { 462 var root = portalRoots[i]; 463 if ( 464 host === root || 465 host === 'www.' + root || 466 host.slice(-(root.length + 1)) === '.' + root 467 ) { 468 return true; 469 } 470 } 471 return false; 472 } 473 474 var host = (window.location.hostname || '').toLowerCase(); 475 var isLocal = host === 'localhost' || host === '127.0.0.1'; 476 var measurementId = (!isLocal && isPortalHost(host)) ? PORTAL_GA : MAIN_GA; 477 478 window.dataLayer = window.dataLayer || []; 479 function gtag(){ dataLayer.push(arguments); } 480 window.gtag = gtag; 481 window.__GA_MEASUREMENT_ID__ = measurementId; 482 483 var s = document.createElement('script'); 484 s.async = true; 485 s.src = 'https://www.googletagmanager.com/gtag/js?id=' + measurementId; 486 document.head.appendChild(s); 487 488 gtag('js', new Date()); 489 gtag('config', measurementId, { send_page_view: false }); 490 })(); 491 </script>
491 492 493 <!-- MathJax: defer â only needed on specific pages, not homepage --> 494
494<script defer id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js"></script>
494 495 496 <!-- Razorpay checkout.js is loaded on demand in payment flows (see load-razorpay-script.ts) --> 497 498 <!-- reCAPTCHA v3: main site only (open-access AI); portal uses Firebase phone reCAPTCHA instead --> 499
499<script> 500 (function () { 501 var portalRoots = ['studyabroad.center']; 502 var legacyPortalHosts = { 503 'canameducation.co.in': 1, 504 'www.canameducation.co.in': 1, 505 'languagescoaching.center': 1, 506 'www.languagescoaching.center': 1 507 }; 508 var siteKey = '6LfVT3stAAAAAOGowK5J7oyvfu6qwhH-i-DdoOpt'; 509 510 function isPortalHost(host) { 511 if (legacyPortalHosts[host]) return true; 512 for (var i = 0; i < portalRoots.length; i++) { 513 var root = portalRoots[i]; 514 if ( 515 host === root || 516 host === 'www.' + root || 517 host.slice(-(root.length + 1)) === '.' + root 518 ) { 519 return true; 520 } 521 } 522 return false; 523 } 524 525 var host = (window.location.hostname || '').toLowerCase(); 526 var isLocal = host === 'localhost' || host === '127.0.0.1'; 527 var isPrepLabHost = host === 'canameducation.info' || host === 'www.canameducation.info'; 528 if (!isLocal && (isPortalHost(host) || isPrepLabHost)) { 529 return; 530 } 531 532 var s = document.createElement('script'); 533 s.defer = true; 534 s.src = 'https://www.google.com/recaptcha/api.js?render=' + siteKey; 535 document.head.appendChild(s); 536 })(); 537 </script>
537 538 539 <!-- TinyMCE: defer â only needed in blog editor/admin routes --> 540
540<script defer src="https://cdnjs.cloudflare.com/ajax/libs/tinymce/7.3.0/tinymce.min.js"></script>
540 541 542 <!-- Google Translate: defer to avoid render blocking --> 543
543<script> 544 function googleTranslateElementInit() { 545 new google.translate.TranslateElement({ 546 pageLanguage: 'en', 547 includedLanguages: 'ar,as,awa,bn,bho,zh-CN,cs,dog,nl,en,fr,fr-CA,de,gu,hi,it,ja,kn,ks,kok,ko,mai,ms,ml,mr,mwr,mni,np,or,pa,pt,pt-BR,ru,sat,sd,es,sw,ta,te,tr,ur,vi,si,ne,tl,th,kk,uz', 548 layout: google.translate.TranslateElement.InlineLayout.SIMPLE 549 }, 'google_translate_element'); 550 } 551 </script>
551 552
552<script defer src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
552 553 554 <!-- Student portal: purple background + splash before Angular boots (avoids white flash on refresh). --> 555
555<script> 556 (function () { 557 var path = window.location.pathname || '/'; 558 if (path.charAt(0) !== '/') path = '/' + path; 559 var isStudentPortal = 560 path === '/student-portal' || path.indexOf('/student-portal/') === 0; 561 var isPublicPortalRoute = 562 path === '/student-portal/login' || 563 path.indexOf('/student-portal/login/') === 0 || 564 path === '/student-portal/complete-profile' || 565 path.indexOf('/student-portal/complete-profile/') === 0; 566 if (isStudentPortal && !isPublicPortalRoute) { 567 document.documentElement.setAttribute('data-portal-boot', '1'); 568 } 569 })(); 570 </script>
570 571 <style> 572 html[data-portal-boot='1'], 573 html[data-portal-boot='1'] body { 574 margin: 0; 575 background: linear-gradient(135deg, #312e81 0%, #4c1d95 45%, #6d28d9 100%); 576 } 577 #student-portal-boot-splash { 578 position: fixed; 579 inset: 0; 580 z-index: 10000; 581 display: flex; 582 align-items: center; 583 justify-content: center; 584 background: linear-gradient(135deg, #312e81 0%, #4c1d95 45%, #6d28d9 100%); 585 color: #fff; 586 font-family: 'Segoe UI', system-ui, sans-serif; 587 } 588 .student-portal-boot-splash__inner { 589 display: flex; 590 flex-direction: column; 591 align-items: center; 592 gap: 1.25rem; 593 text-align: center; 594 padding: 1.5rem; 595 } 596 .student-portal-boot-splash__spinner { 597 width: 44px; 598 height: 44px; 599 border: 3px solid rgba(255, 255, 255, 0.25); 600 border-top-color: #fff; 601 border-radius: 50%; 602 animation: student-portal-boot-spin 0.75s linear infinite; 603 } 604 .student-portal-boot-splash__text { 605 margin: 0; 606 font-size: 0.95rem; 607 font-weight: 500; 608 letter-spacing: 0.02em; 609 opacity: 0.92; 610 } 611 @keyframes student-portal-boot-spin { 612 to { transform: rotate(360deg); } 613 } 614 </style> 615 616 <style>@font-face{font-family:Axiforma;src:url(/assets/images/fonts/Axiforma-Light.woff) format("woff")!important;font-weight:300!important;font-style:normal!important}@font-face{font-family:Axiforma!important;src:url(/assets/images/fonts/Axiforma-Regular.woff) format("woff")!important;font-weight:400!important;font-style:normal!important}@font-face{font-family:Axiforma!important;src:url(/assets/images/fonts/Axiforma-Medium.woff) format("woff")!important;font-weight:500!important;font-style:normal!important}@font-face{font-family:Axiforma!important;src:url(/assets/images/fonts/Axiforma-SemiBold.woff) format("woff")!important;font-weight:600!important;font-style:normal!important}@font-face{font-family:Axiforma!important;src:url(/assets/images/fonts/Axiforma-Bold.woff) format("woff")!important;font-weight:700!important;font-style:normal!important}@font-face{font-family:Axiforma!important;src:url(/assets/images/fonts/Axiforma-Regular.woff) format("woff")!important;font-weight:350!important;font-style:normal!important}*{font-family:Axiforma}:root{--app-fixed-header-h:75px}@media (max-width: 720px){:root{--app-fixed-header-h:60px}}body{margin:0;font-family:Axiforma!important;src:url(/assets/images/fonts/Axiforma-Regular.woff) format("woff")!important;overscroll-behavior:contain}@font-face{font-family:Axiforma;src:url(Axiforma-Light.b42d7f7d2e0f6472.woff2) format("woff2"),url(Axiforma-Light.576432eaed17cdf9.woff) format("woff");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-Heavy.b7aca8fe3b0560a1.woff2) format("woff2"),url(Axiforma-Heavy.0d30cb07f2942f0c.woff) format("woff");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-ExtraBold.24fee138243dde35.woff2) format("woff2"),url(Axiforma-ExtraBold.bd5836e3cd5802d7.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-MediumItalic.52724ca9425b8cce.woff2) format("woff2"),url(Axiforma-MediumItalic.6f9a052841462c8d.woff) format("woff");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-Italic.4bb9878bf155b524.woff2) format("woff2"),url(Axiforma-Italic.e6319da96928e8dd.woff) format("woff");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-Medium.f028494e918fe671.woff2) format("woff2"),url(Axiforma-Medium.c2579822bf03dceb.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-HeavyItalic.1effc182663e30c9.woff2) format("woff2"),url(Axiforma-HeavyItalic.926fc7400bb28998.woff) format("woff");font-weight:900;font-style:italic;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-ExtraBoldItalic.0f75f04a0f53349b.woff2) format("woff2"),url(Axiforma-ExtraBoldItalic.23b7856b3fd768d9.woff) format("woff");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-LightItalic.ac596dc6a53d3d00.woff2) format("woff2"),url(Axiforma-LightItalic.481761b0a7ad1c2b.woff) format("woff");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-Regular.60d5c1ccccb7d007.woff2) format("woff2"),url(Axiforma-Regular.bddf8f2dd453757e.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-Thin.2b2dee879a694ca0.woff2) format("woff2"),url(Axiforma-Thin.bdacebbd0008bacd.woff) format("woff");font-weight:100;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-SemiBold.26e91137bc8df04d.woff2) format("woff2"),url(Axiforma-SemiBold.66b8cb3e590c0f67.woff) format("woff");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-ThinItalic.dd155bfb5f104211.woff2) format("woff2"),url(Axiforma-ThinItalic.5347ea06270424d8.woff) format("woff");font-weight:100;font-style:italic;font-display:swap}@font-face{font-family:Axiforma;src:url(Axiforma-SemiBoldItalic.1383009eab18e92b.woff2) format("woff2"),url(Axiforma-SemiBoldItalic.252db43fb257a5c4.woff) format("woff");font-weight:600;font-style:italic;font-display:swap}
616@charset "UTF-8";:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, .75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, .5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, .175);--bs-border-radius:.375rem;--bs-border-radius-sm:.25rem;--bs-border-radius-lg:.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 .5rem 1rem rgba(0, 0, 0, .15);--bs-box-shadow-sm:0 .125rem .25rem rgba(0, 0, 0, .075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, .175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, .075);--bs-focus-ring-width:.25rem;--bs-focus-ring-opacity:.25;--bs-focus-ring-color:rgba(13, 110, 253, .25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}*,:after,:before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}p{margin-top:0;margin-bottom:1rem}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}</style><link rel="stylesheet" href="styles.54ce4f5fe24f98ce.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.54ce4f5fe24f98ce.css"></noscript></head> 617 618 <body> 619 <div id="student-portal-boot-splash" style="display:none" aria-live="polite" aria-busy="true"> 620 <div class="student-portal-boot-splash__inner"> 621 <div class="student-portal-boot-splash__spinner" aria-hidden="true"></div> 622 <p class="student-portal-boot-splash__text">Loading your coursesâ¦</p> 623 </div> 624 </div> 625
625<script> 626 (function () { 627 if (document.documentElement.getAttribute('data-portal-boot') === '1') { 628 var splash = document.getElementById('student-portal-boot-splash'); 629 if (splash) splash.style.display = 'flex'; 630 } 631 })(); 632 </script>
632 633 <app-root></app-root> 634
634<script src="runtime.e4a65927e975d1eb.js" type="module"></script>
634<script src="polyfills.96f7eb241c95816d.js" type="module"></script>
634<script src="scripts.79f974a3208dd13f.js" defer></script>
634<script src="vendor.1f2e2428b55d0976.js" type="module"></script>
634<script src="main.6f4ecc355de7b7c4.js" type="module"></script>
634 635 636 637
637<script defer src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
637 638
638<script defer src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
638 639
639<script defer src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
639 640
640<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap-select.min.js"></script>
640 641
641<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
641 642
642<script defer src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
642 643
643<script defer src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.9.0/js/bootstrap-datepicker.min.js" integrity="sha512-T/tUfKSV1bihCnd+MxKD0Hm1uBBroVYBOYSk1knyvQ9VyZJpc/ALb4P0r6ubwVPSGB2GvjeoMAJJImBG12TiaQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
643 644
644<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/js/jsmind.js"></script>
644 645
645<script defer src="https://cdn.jsdelivr.net/npm/[email protected]/js/jsmind.draggable.js"></script>
645 646 647 648</body><!-- Non-critical JS: all deferred so they don't block render --></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.