{"id":22977,"date":"2026-08-02T14:14:27","date_gmt":"2026-08-02T14:14:27","guid":{"rendered":"https:\/\/www.afmontreal.ca\/testfrench-courses-for-adults-in-montreal-levels-a1-to-c2-alliance-francaise\/"},"modified":"2026-08-04T15:22:41","modified_gmt":"2026-08-04T15:22:41","slug":"adult-courses","status":"publish","type":"page","link":"https:\/\/www.afmontreal.ca\/en\/adult-courses\/","title":{"rendered":"TESTFrench Courses for Adults in Montreal \u2014 Levels A1 to C2 \u2014 Alliance Fran\u00e7aise"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"22977\" class=\"elementor elementor-22977 elementor-22439\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f6ca272 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"f6ca272\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-d7c14ee\" data-id=\"d7c14ee\" data-element_type=\"column\" data-e-type=\"column\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-8e303f2\" data-id=\"8e303f2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-93fb08e elementor-widget elementor-widget-heading\" data-id=\"93fb08e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Your French starts here<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-efa32cc elementor-widget elementor-widget-heading\" data-id=\"efa32cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">No matter where you are \n<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be65848 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"be65848\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In-person classes in downtown Montreal, from absolute beginner to C2 level. Two evenings a week, Saturday mornings, or four mornings to learn faster. <br><b>The Alliance Fran\u00e7aise is the world&#8217;s leading network for teaching French.<\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ad0afc4 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"ad0afc4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">6 to 9 students per class<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Certified FLE Teachers<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check-circle\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Teaching materials included<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9c0e610 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"9c0e610\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a8c46e5\" data-id=\"a8c46e5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-015e620 elementor-widget elementor-widget-html\" data-id=\"015e620\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ================================================================\r\n     AFMTL \u2014 Key figures band (EN)\r\n\r\n     Place in an HTML widget, inside a section with no lateral\r\n     padding (the block handles its own framing).\r\n\r\n     TO EDIT:\r\n       - the kicker, the claim and the three figures are in plain\r\n         text inside the <div class=\"af-stats\"> block below\r\n       - add or remove a figure = duplicate or delete one\r\n         <div class=\"af-stats__item\"> block\r\n\r\n     Thousands separator: en anglais on utilise la virgule (2,509),\r\n     et non l espace fine comme en francais (2 509).\r\n     ================================================================ -->\r\n\r\n<style>\r\n.af-stats *{box-sizing:border-box;}\r\n.af-stats{\r\n  --af-navy:#1A2E6C;\r\n  --af-red:#D6001C;\r\n  font-family:'Instrument Sans',sans-serif;\r\n  background:var(--af-navy); color:#fff;\r\n  border-radius:24px;\r\n  padding:44px 56px;\r\n  max-width:1220px; margin:0 auto;\r\n  display:grid; grid-template-columns:minmax(200px,1fr) auto;\r\n  gap:32px 56px; align-items:center;\r\n}\r\n\r\n\/* ---------- Left column ---------- *\/\r\n.af-stats__kicker{\r\n  display:block; font-family:'Poppins',sans-serif !important;\r\n  font-size:11.5px; font-weight:700; text-transform:uppercase;\r\n  letter-spacing:.14em; color:rgba(255,255,255,.55);\r\n  margin:0 0 12px;\r\n}\r\n.af-stats__claim{\r\n  font-family:'Playfair Display',serif !important;\r\n  font-size:28px; font-weight:900; line-height:1.15; letter-spacing:-.02em;\r\n  color:#fff; margin:0; max-width:300px;\r\n}\r\n\r\n\/* ---------- The figures ---------- *\/\r\n.af-stats__grid{\r\n  display:flex; gap:56px; flex-wrap:wrap; justify-self:end;\r\n}\r\n.af-stats__item{text-align:left;}\r\n.af-stats__num{\r\n  display:block;\r\n  font-family:'Playfair Display',serif !important;\r\n  font-size:48px; font-weight:900; line-height:1; letter-spacing:-.02em;\r\n  color:#fff;\r\n}\r\n.af-stats__rule{\r\n  display:block; width:34px; height:2px;\r\n  background:var(--af-red); margin:12px 0 10px;\r\n}\r\n.af-stats__lbl{\r\n  display:block; font-size:13.5px; line-height:1.3;\r\n  color:rgba(255,255,255,.78);\r\n}\r\n\r\n\/* ---------- Theme override fixes ---------- *\/\r\n.af-stats .af-stats__claim,\r\n.af-stats .af-stats__num{margin-top:0;}\r\n\r\n\/* ---------- Tablet ---------- *\/\r\n@media (max-width:1024px){\r\n  .af-stats{\r\n    grid-template-columns:1fr; gap:28px;\r\n    padding:38px 34px;\r\n  }\r\n  .af-stats__grid{justify-self:start; gap:44px;}\r\n  .af-stats__claim{max-width:none;}\r\n}\r\n\r\n\/* ---------- Mobile ---------- *\/\r\n@media (max-width:780px){\r\n  .af-stats{\r\n    border-radius:0; padding:34px 20px;\r\n    width:100vw !important;\r\n    max-width:100vw !important;\r\n    margin-left:calc(50% - 50vw) !important;\r\n    margin-right:calc(50% - 50vw) !important;\r\n  }\r\n  .af-stats__claim{font-size:24px;}\r\n  .af-stats__grid{\r\n    display:grid; grid-template-columns:1fr 1fr; gap:26px 20px;\r\n    width:100%;\r\n  }\r\n  .af-stats__num{font-size:38px;}\r\n  .af-stats__lbl{font-size:12.5px;}\r\n  .af-stats__rule{margin:10px 0 8px;}\r\n}\r\n<\/style>\r\n\r\n<div class=\"af-stats\">\r\n\r\n  <div>\r\n    <span class=\"af-stats__kicker\">l'alliance fran\u00e7aise de montr\u00e9al  in 2026<\/span>\r\n    <p class=\"af-stats__claim\">A school, not a platform.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"af-stats__grid\">\r\n\r\n    <div class=\"af-stats__item\">\r\n      <span class=\"af-stats__num\">2,509<\/span>\r\n      <span class=\"af-stats__rule\" aria-hidden=\"true\"><\/span>\r\n      <span class=\"af-stats__lbl\">Enrolled students<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"af-stats__item\">\r\n      <span class=\"af-stats__num\">49,096<\/span>\r\n      <span class=\"af-stats__rule\" aria-hidden=\"true\"><\/span>\r\n      <span class=\"af-stats__lbl\">Hours taught<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"af-stats__item\">\r\n      <span class=\"af-stats__num\">50<\/span>\r\n      <span class=\"af-stats__rule\" aria-hidden=\"true\"><\/span>\r\n      <span class=\"af-stats__lbl\">Nationalities<\/span>\r\n    <\/div>\r\n\r\n  <\/div>\r\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-fbf4f93 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"fbf4f93\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-92e584f\" data-id=\"92e584f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4154db4 elementor-testimonial--skin-default elementor-testimonial--layout-image_inline elementor-testimonial--align-center elementor-arrows-yes elementor-pagination-type-bullets elementor-widget elementor-widget-testimonial-carousel\" data-id=\"4154db4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;speed&quot;:1500,&quot;autoplay_speed&quot;:8000,&quot;show_arrows&quot;:&quot;yes&quot;,&quot;pagination&quot;:&quot;bullets&quot;,&quot;autoplay&quot;:&quot;yes&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;space_between&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]}}\" data-widget_type=\"testimonial-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper\">\n\t\t\t\t\t<div class=\"elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Diapositives\">\n\t\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\t<p>\"My teacher, Kelly, was approachable, professional, energetic, and had a great sense of humor.\"<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png\" alt=\"Paul Sarvis  \">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Paul Sarvis  <\/span><span class=\"elementor-testimonial__title\">CEO<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\t<p>\"The teachers are very knowledgeable. I liked the small-group format, which lets me speak a lot, and the teacher was very kind.\" <\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png\" alt=\"Jacques Lespi\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Jacques Lespi<\/span><span class=\"elementor-testimonial__title\">CEO<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\t<p>\"I loved this experience, and I'm confident I'll pass the TCF next week. Thank you to the whole team.\"<\/p>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png\" alt=\"Mia Silva\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Mia Silva<\/span><span class=\"elementor-testimonial__title\">CEO<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\" aria-label=\"Previous\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"eicon-chevron-left\"><\/i>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\" aria-label=\"Next\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"eicon-chevron-right\"><\/i>\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-23cac5f af-section-conditions elementor-section-stretched elementor-hidden-desktop elementor-hidden-tablet elementor-hidden-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"23cac5f\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-36a80fb9\" data-id=\"36a80fb9\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7e18c7c elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"7e18c7c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The Best Terms  <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eca2c50 elementor-widget__width-inherit elementor-widget elementor-widget-heading\" data-id=\"eca2c50\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">to learn French in Montreal<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6fc564c8 af-duo elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"6fc564c8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-45 elementor-top-column elementor-element elementor-element-1e54e9ac af-duo__col-texte\" data-id=\"1e54e9ac\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-45955540 elementor-widget elementor-widget-heading\" data-id=\"45955540\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">our mini-groups<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3e5b75f0 elementor-widget elementor-widget-heading\" data-id=\"3e5b75f0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">You speak in every class. Without exception. <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46d2afe6 elementor-widget elementor-widget-text-editor\" data-id=\"46d2afe6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>6 to 9 students per class.<\/strong>  Small enough for everyone to speak up in every class, and large enough to discuss and practice in groups.<strong>  You speak in every class, without exception.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-55 elementor-top-column elementor-element elementor-element-3595d9c5 af-duo__col-media\" data-id=\"3595d9c5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4f6693b7 af-duo__media elementor-widget elementor-widget-image\" data-id=\"4f6693b7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"768\" height=\"768\" src=\"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/kk-1-768x768.jpeg\" class=\"attachment-medium_large size-medium_large wp-image-22302\" alt=\"\" srcset=\"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/kk-1-768x768.jpeg 768w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/kk-1-300x300.jpeg 300w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/kk-1-1024x1024.jpeg 1024w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/kk-1-150x150.jpeg 150w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6d5409e6 af-duo af-duo--inverse elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"6d5409e6\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-55 elementor-top-column elementor-element elementor-element-4b40f94f af-duo__col-media\" data-id=\"4b40f94f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4a21745d af-duo__media elementor-widget elementor-widget-image\" data-id=\"4a21745d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"768\" height=\"768\" src=\"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/IMG_2118-16-768x768.jpg\" class=\"attachment-medium_large size-medium_large wp-image-22337\" alt=\"\" srcset=\"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/IMG_2118-16-768x768.jpg 768w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/IMG_2118-16-300x300.jpg 300w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/IMG_2118-16-1024x1024.jpg 1024w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/IMG_2118-16-150x150.jpg 150w\" sizes=\"(max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-45 elementor-top-column elementor-element elementor-element-21cfe564 af-duo__col-texte\" data-id=\"21cfe564\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-79105820 elementor-widget elementor-widget-heading\" data-id=\"79105820\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\">Our teachers<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d4c35a9 elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"6d4c35a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Teachers who know exactly where you stand.\u200b<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-40761dad elementor-widget elementor-widget-text-editor\" data-id=\"40761dad\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Certified FLE teachers,<\/strong> trained to teach all levels from A1 to C2. They tailor their approach to your profile\u2014not the other way around. From absolute beginners to advanced learners,<strong> everyone progresses at their own pace.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c1c9e91 af-duo elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"c1c9e91\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-45 elementor-top-column elementor-element elementor-element-d1587f2 af-duo__col-texte\" data-id=\"d1587f2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-872f14d elementor-widget elementor-widget-heading\" data-id=\"872f14d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-heading-title elementor-size-default\"><p dir=\"ltr\">Our method<span style=\"letter-spacing: 1.44px\"><\/span><\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-45b251e elementor-widget elementor-widget-heading\" data-id=\"45b251e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The French you'll actually use.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2952777 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"2952777\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>Reading, writing, listening, speaking:<\/b> the four language skills covered in every French class. Not just theoretical French.   <b>French that works on the street, at work, and with your neighbors.  <\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-55 elementor-top-column elementor-element elementor-element-ce4a3b5 af-duo__col-media\" data-id=\"ce4a3b5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e5b6ca0 af-duo__media elementor-widget elementor-widget-image\" data-id=\"e5b6ca0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/07-1-luminausite-300x300.jpg\" class=\"attachment-medium size-medium wp-image-22308\" alt=\"\" srcset=\"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/07-1-luminausite-300x300.jpg 300w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/07-1-luminausite-1024x1024.jpg 1024w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/07-1-luminausite-150x150.jpg 150w, https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2026\/07\/07-1-luminausite-768x768.jpg 768w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-9be2ca7 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"9be2ca7\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-860ab5a\" data-id=\"860ab5a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-71e576f elementor-widget elementor-widget-html\" data-id=\"71e576f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ================================================================\r\n     AFMTL \u2014 Section \"Not sure about your level?\" (EN) \u2014 option 1B\r\n     TEXT  : everything is inside the <div class=\"af-lvl\"> block below.\r\n     LINKS : search for href=\" in the 4 .af-lvl__cta buttons\r\n       1. Online test        -> \/en\/cart\/#\/addProduct\/256\r\n       2. Appointment        -> \/en\/cart\/#\/addProduct\/177\r\n       3. A1.1 registration  -> extranet-aec.com (external domain, period filter)\r\n       4. Register now       -> #module-aec anchor, scripted scrolling\r\n     ================================================================ -->\r\n\r\n<style>\r\n.af-lvl *{box-sizing:border-box;}\r\n.af-lvl{\r\n  --af-navy:#1A2E6C; --af-red:#D6001C; --af-red-dark:#B30017;\r\n  --af-grey:#6E6E73; --af-panel:#F5F5F7; --af-line:rgba(26,46,108,.14);\r\n  font-family:'Instrument Sans',sans-serif;\r\n  background:transparent; border:none; border-radius:0;\r\n  padding:0; max-width:1220px; margin:0 auto;\r\n}\r\n\r\n\/* --- Title + intro band, full width at the top --- *\/\r\n.af-lvl__intro h2{\r\n  font-family:'Playfair Display',serif !important;\r\n  font-size:52px; font-weight:900; line-height:1.02; letter-spacing:-.035em;\r\n  color:var(--af-navy); margin:0 0 18px;\r\n}\r\n.af-lvl__intro > p{\r\n  font-size:18px; line-height:1.5; color:var(--af-grey);\r\n  max-width:620px; margin:0 0 40px;\r\n}\r\n.af-lvl__intro > p strong{color:var(--af-navy); font-weight:600;}\r\n\r\n\/* --- Two columns: tabs on the left, panel on the right --- *\/\r\n.af-lvl__grid{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start;}\r\n\/* Desktop: tabs are centred vertically against the panel *\/\r\n@media (min-width:781px){\r\n  .af-lvl__grid{align-items:center;}\r\n}\r\n\r\n.af-lvl__tabs{display:flex; flex-direction:column; gap:8px;}\r\n.af-lvl__tab{\r\n  display:flex; align-items:center; gap:12px; width:100%; text-align:left;\r\n  font-family:inherit; font-size:17px; font-weight:500; line-height:1.3;\r\n  color:var(--af-navy); background:#fff; border:1px solid var(--af-line);\r\n  border-radius:18px; padding:18px 20px; cursor:pointer;\r\n  transition:background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;\r\n}\r\n.af-lvl__tab:hover{border-color:rgba(26,46,108,.32);}\r\n.af-lvl__tab.is-active{\r\n  background:var(--af-navy); border-color:var(--af-navy); color:#fff;\r\n  box-shadow:0 8px 24px rgba(26,46,108,.12);\r\n}\r\n.af-lvl__tab:focus-visible{outline:2px solid var(--af-navy); outline-offset:2px;}\r\n.af-lvl__dot{\r\n  flex:0 0 auto; width:8px; height:8px; border-radius:50%;\r\n  background:var(--af-red); transition:background .18s ease;\r\n}\r\n.af-lvl__tab.is-active .af-lvl__dot{background:#FF5A6E;}\r\n\r\n.af-lvl__panels{\r\n  background:var(--af-panel); border-radius:24px; padding:36px; min-height:340px;\r\n}\r\n.af-lvl__panel{display:none;}\r\n.af-lvl__panel.is-active{display:block; animation:afFade .15s ease-out;}\r\n@keyframes afFade{from{opacity:0;} to{opacity:1;}}\r\n.af-lvl__kicker{\r\n  display:block; font-family:'Poppins',sans-serif !important;\r\n  font-size:12px; font-weight:700; text-transform:uppercase;\r\n  letter-spacing:.12em; color:var(--af-red); margin:0 0 12px;\r\n}\r\n.af-lvl__panel h3{\r\n  font-family:'Poppins',sans-serif !important;\r\n  font-size:20px; line-height:1.2; font-weight:700;\r\n  color:var(--af-navy); margin:0 0 14px;\r\n}\r\n.af-lvl__panel > p{font-size:16px; line-height:1.6; color:var(--af-grey); margin:0 0 22px;}\r\n.af-lvl__points{list-style:none; margin:0 0 28px; padding:0;}\r\n.af-lvl__points li{\r\n  position:relative; padding-left:26px; font-size:14.5px; line-height:1.6;\r\n  color:var(--af-navy); margin-bottom:10px;\r\n}\r\n.af-lvl__points li::before{\r\n  content:\"\\2713\"; position:absolute; left:0; top:0; color:var(--af-red); font-weight:700;\r\n}\r\n.af-lvl__cta{\r\n  display:block; width:100%; text-align:center;\r\n  background:var(--af-red); color:#fff; text-decoration:none;\r\n  font-size:16px; font-weight:500; padding:15px 28px; border-radius:999px;\r\n  transition:background .18s ease;\r\n}\r\n.af-lvl__cta:hover,.af-lvl__cta:focus{background:var(--af-red-dark); color:#fff;}\r\n.af-lvl__cta:focus-visible{outline:2px solid var(--af-navy); outline-offset:2px;}\r\n\r\n\/* --- Priority fixes over the theme styles --- *\/\r\n.af-lvl__tabs .af-lvl__tab{margin:0 !important;}\r\n.af-lvl__points{list-style:none !important; margin:0 0 28px !important; padding-left:0 !important;}\r\n.af-lvl__points li{\r\n  list-style:none !important; margin-left:0 !important;\r\n  padding-left:26px; margin-bottom:10px;\r\n}\r\n.af-lvl__points li::marker{content:\"\";}\r\n\r\n@media (max-width:780px){\r\n  .af-lvl{\r\n    padding:40px 16px 44px; border:none; border-radius:0;\r\n    max-width:none; width:auto;\r\n  }\r\n  .af-lvl__intro h2{font-size:34px;}\r\n  .af-lvl__intro > p{font-size:16px; margin-bottom:28px;}\r\n  .af-lvl__grid{grid-template-columns:1fr; gap:28px;}\r\n  .af-lvl__tab{font-size:16px; padding:16px 18px; min-height:60px;}\r\n  .af-lvl__panels{border-radius:22px; padding:28px 24px; min-height:0;}\r\n  .af-lvl__kicker{font-size:11.5px;}\r\n  .af-lvl__panel h3{font-size:19px;}\r\n  .af-lvl__cta{padding:16px 24px;}\r\n}\r\n\r\n\/* --- Mobile: the block breaks out of the container to fill the\r\n       full screen width, whatever margins the Elementor section\r\n       or the theme may apply. --- *\/\r\n@media (max-width:780px){\r\n  .af-lvl{\r\n    width:100vw !important;\r\n    max-width:100vw !important;\r\n    margin-left:calc(50% - 50vw) !important;\r\n    margin-right:calc(50% - 50vw) !important;\r\n    padding-left:16px !important;\r\n    padding-right:16px !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"af-lvl\">\r\n\r\n  <div class=\"af-lvl__intro\">\r\n    <h2>Not sure about your level?<\/h2>\r\n    <p>That's true for almost everyone. Twenty minutes and it's sorted, and <strong>the test is refunded when you buy your first course<\/strong>.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"af-lvl__grid\">\r\n\r\n    <div>\r\n      <div class=\"af-lvl__tabs\" role=\"tablist\" aria-orientation=\"vertical\" aria-label=\"Choose how to find out your level\">\r\n        <button class=\"af-lvl__tab is-active\" role=\"tab\" aria-selected=\"true\" aria-controls=\"af-p1\" id=\"af-t1\" type=\"button\"><span class=\"af-lvl__dot\"><\/span>Online test with AI<\/button>\r\n        <button class=\"af-lvl__tab\" role=\"tab\" aria-selected=\"false\" aria-controls=\"af-p2\" id=\"af-t2\" type=\"button\"><span class=\"af-lvl__dot\"><\/span>Assessment with a teacher<\/button>\r\n        <button class=\"af-lvl__tab\" role=\"tab\" aria-selected=\"false\" aria-controls=\"af-p3\" id=\"af-t3\" type=\"button\"><span class=\"af-lvl__dot\"><\/span>I am a complete beginner<\/button>\r\n        <button class=\"af-lvl__tab\" role=\"tab\" aria-selected=\"false\" aria-controls=\"af-p4\" id=\"af-t4\" type=\"button\"><span class=\"af-lvl__dot\"><\/span>I'm re-enrolling<\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"af-lvl__panels\">\r\n\r\n      <!-- PANEL 1 -->\r\n      <div class=\"af-lvl__panel is-active\" role=\"tabpanel\" id=\"af-p1\" aria-labelledby=\"af-t1\">\r\n        <span class=\"af-lvl__kicker\">Immediate result<\/span>\r\n        <h3>Your level in 20 minutes, no appointment needed<\/h3>\r\n        <p>An adaptive test that places your French from A1 to C2 and recommends the exact course to enrol in.<\/p>\r\n        <ul class=\"af-lvl__points\">\r\n          <li>Available 24\/7<\/li>\r\n          <li>Result aligned with the CEFR<\/li>\r\n          <li>Refunded when you buy your course<\/li>\r\n        <\/ul>\r\n        <a class=\"af-lvl__cta\" href=\"https:\/\/www.afmontreal.ca\/en\/cart\/#\/addProduct\/256\">Start the test<\/a>\r\n      <\/div>\r\n\r\n      <!-- PANEL 2 -->\r\n      <div class=\"af-lvl__panel\" role=\"tabpanel\" id=\"af-p2\" aria-labelledby=\"af-t2\">\r\n        <span class=\"af-lvl__kicker\">With a certified teacher<\/span>\r\n        <h3>Twenty minutes online with a teacher<\/h3>\r\n        <p>A spoken conversation with one of our certified FLE teachers. Your level is identified against the CEFR, and your next step is clear.<\/p>\r\n        <ul class=\"af-lvl__points\">\r\n          <li>Spoken conversation by video call<\/li>\r\n          <li>Personalised course recommendation<\/li>\r\n        <\/ul>\r\n        <a class=\"af-lvl__cta\" href=\"https:\/\/www.afmontreal.ca\/en\/cart\/#\/addProduct\/177\">Book an appointment<\/a>\r\n      <\/div>\r\n\r\n      <!-- PANEL 3 -->\r\n      <div class=\"af-lvl__panel\" role=\"tabpanel\" id=\"af-p3\" aria-labelledby=\"af-t3\">\r\n        <span class=\"af-lvl__kicker\">No test needed<\/span>\r\n        <h3>You have never studied French<\/h3>\r\n        <p>No assessment required. Level A1.1 is designed for complete beginners, with no prerequisites at all.<\/p>\r\n        <ul class=\"af-lvl__points\">\r\n          <li>No prior knowledge required<\/li>\r\n          <li>Groups of 6 to 9 learners<\/li>\r\n          <li>Immediate registration<\/li>\r\n        <\/ul>\r\n        <a class=\"af-lvl__cta\" href=\"https:\/\/afmontreal.extranet-aec.com\/classes\/view\/#\/?classificationIds=2&amp;classTypeIds=34%7C35%7C43%7C27%7C31&amp;subjectIds=1&amp;levelsIds=1&amp;periodIds=23%7C24\">Register for A1.1<\/a>\r\n      <\/div>\r\n\r\n      <!-- PANEL 4 -->\r\n      <div class=\"af-lvl__panel\" role=\"tabpanel\" id=\"af-p4\" aria-labelledby=\"af-t4\">\r\n        <span class=\"af-lvl__kicker\">Re-enrolment<\/span>\r\n        <h3>You already know where you stand<\/h3>\r\n        <p>Enrol directly in your next course and take advantage of your loyalty discount.<\/p>\r\n        <ul class=\"af-lvl__points\">\r\n          <li>Loyalty discount applied automatically<\/li>\r\n          <li>Continuous learning path<\/li>\r\n          <li>Limited spots per group<\/li>\r\n        <\/ul>\r\n        <a class=\"af-lvl__cta\" href=\"#module-aec\">Register now<\/a>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var roots = document.querySelectorAll('.af-lvl');\r\n  Array.prototype.forEach.call(roots, function(root){\r\n    if (root.dataset.afInit) return;\r\n    root.dataset.afInit = '1';\r\n    var tabs = root.querySelectorAll('.af-lvl__tab');\r\n    var panels = root.querySelectorAll('.af-lvl__panel');\r\n    function activate(i){\r\n      Array.prototype.forEach.call(tabs, function(t, j){\r\n        t.classList.toggle('is-active', i === j);\r\n        t.setAttribute('aria-selected', i === j ? 'true' : 'false');\r\n      });\r\n      Array.prototype.forEach.call(panels, function(p, j){\r\n        p.classList.toggle('is-active', i === j);\r\n      });\r\n    }\r\n    Array.prototype.forEach.call(tabs, function(tab, i){\r\n      tab.addEventListener('click', function(){ activate(i); });\r\n      tab.addEventListener('keydown', function(e){\r\n        var n = null;\r\n        if (e.key === 'ArrowDown' || e.key === 'ArrowRight') n = (i + 1) % tabs.length;\r\n        if (e.key === 'ArrowUp' || e.key === 'ArrowLeft') n = (i - 1 + tabs.length) % tabs.length;\r\n        if (n !== null){ e.preventDefault(); tabs[n].focus(); activate(n); }\r\n      });\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<script>\r\n\/* ================================================================\r\n   Level module buttons.\r\n\r\n   1. The \"Register now\" button targets the #module-aec anchor.\r\n      Native anchor jumping is intercepted on this site, so we\r\n      compute the position ourselves, offset by the header height\r\n      when the header is fixed or sticky.\r\n      Fallback: if the anchor is missing, target the last\r\n      .kiosque-aec occurrence, the first being the header cart.\r\n\r\n   2. The other three buttons are real links: we do not intercept\r\n      them, we only send the GA4 event.\r\n   ================================================================ *\/\r\n(function () {\r\n  function entete() {\r\n    var h = document.querySelector('header, .aux-header, .site-header');\r\n    if (!h) return 0;\r\n    var pos = getComputedStyle(h).position;\r\n    if (pos !== 'fixed' && pos !== 'sticky') return 0;\r\n    return Math.round(h.getBoundingClientRect().height);\r\n  }\r\n\r\n  function cible() {\r\n    var el = document.getElementById('module-aec');\r\n    if (el) return el;\r\n    var tous = document.querySelectorAll('.kiosque-aec');\r\n    return (tous.length > 1) ? tous[tous.length - 1] : null;\r\n  }\r\n\r\n  document.addEventListener('click', function (e) {\r\n    if (!e.target.closest) return;\r\n    var a = e.target.closest('.af-lvl__cta');\r\n    if (!a) return;\r\n\r\n    var libelle = a.textContent.trim();\r\n\r\n    if (window.gtag) {\r\n      gtag('event', 'clic_reserver', {\r\n        bloc_source: 'niveau',\r\n        libelle: libelle.slice(0, 40)\r\n      });\r\n    }\r\n\r\n    \/\/ Seul le bouton d ancre est intercepte.\r\n    if (a.getAttribute('href') !== '#module-aec') return;\r\n\r\n    var dest = cible();\r\n    if (!dest) return;   \/\/ rien trouve : on laisse le lien agir normalement\r\n\r\n    e.preventDefault();\r\n    window.scrollTo({\r\n      top: dest.getBoundingClientRect().top + window.pageYOffset - entete() - 16,\r\n      behavior: 'smooth'\r\n    });\r\n    if (history.replaceState) history.replaceState(null, '', '#module-aec');\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-149a988 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"149a988\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;,&quot;background_motion_fx_motion_fx_scrolling&quot;:&quot;yes&quot;,&quot;background_motion_fx_translateY_effect&quot;:&quot;yes&quot;,&quot;background_motion_fx_translateY_speed&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:1.5,&quot;sizes&quot;:[]},&quot;background_motion_fx_translateY_affectedRange&quot;:{&quot;unit&quot;:&quot;%&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:{&quot;start&quot;:0,&quot;end&quot;:100}},&quot;background_motion_fx_devices&quot;:[&quot;desktop&quot;,&quot;tablet&quot;,&quot;mobile&quot;]}\">\n\t\t\t\t\t\t\t<div class=\"elementor-background-overlay\"><\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-52d8759\" data-id=\"52d8759\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-33d3da7 elementor-widget elementor-widget-text-editor\" data-id=\"33d3da7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>&#8220;I understood my colleagues. I didn&#8217;t respond to them. Six months later, I&#8217;m leading my meetings in French.&#8221;<\/b><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b42868f elementor-widget elementor-widget-text-editor\" data-id=\"b42868f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Antonio, Level B2\u2014arrived from Brazil in 2025<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-192bed6 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"192bed6\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fd4e496\" data-id=\"fd4e496\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5b39363 elementor-widget elementor-widget-html\" data-id=\"5b39363\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ================================================================\r\n     AFMTL \u2014 Section \"Which pace fits your week?\" (EN)\r\n     All THREE paces are written in HTML (good for search engines).\r\n     The selector only toggles visibility.\r\n\r\n     TO UPDATE THE OFFER:\r\n       - remove a level    = delete its <a class=\"af-niv__row\"> tag\r\n       - change the days   = edit the text inside .af-niv__val\r\n       - change a schedule = edit .af-niv__fval in the summary band\r\n       - change the number of weeks = edit the Format .af-niv__fval\r\n       - change a note     = edit .af-niv__note\r\n     No change is needed inside the <script>.\r\n     ================================================================ -->\r\n\r\n<style>\r\n.af-niv *{box-sizing:border-box;}\r\n.af-niv{\r\n  --af-navy:#1A2E6C; --af-red:#D6001C;\r\n  --af-grey:#6E6E73; --af-mute:#98989D;\r\n  --af-line:rgba(26,46,108,.12); --af-seg:#F0F0F3;\r\n  font-family:'Instrument Sans',sans-serif;\r\n  background:transparent; border:none; border-radius:0;\r\n  padding:0; max-width:1220px; margin:0 auto; color:var(--af-navy);\r\n}\r\n\r\n\/* --- Header --- *\/\r\n.af-niv__head{margin:0 0 24px;}\r\n.af-niv__head h2{\r\n  font-family:'Playfair Display',serif !important;\r\n  font-size:46px; font-weight:900; line-height:1.02; letter-spacing:-.035em;\r\n  color:var(--af-navy); margin:0 0 14px;\r\n}\r\n.af-niv__head p{\r\n  font-size:18px; line-height:1.5; color:var(--af-grey);\r\n  max-width:560px; margin:0;\r\n}\r\n\r\n\/* --- Segmented selector --- *\/\r\n.af-niv__seg{\r\n  display:inline-flex; gap:2px; background:var(--af-seg);\r\n  border-radius:999px; padding:4px; margin:0 0 24px;\r\n}\r\n.af-niv__segbtn{\r\n  font-family:inherit; font-size:13.5px; font-weight:500; line-height:1.2;\r\n  color:var(--af-navy); background:transparent; border:none;\r\n  padding:9px 18px; border-radius:999px; cursor:pointer; white-space:nowrap;\r\n  transition:background .18s ease, color .18s ease;\r\n}\r\n.af-niv__segbtn.is-active{background:var(--af-navy); color:#fff;}\r\n.af-niv__segbtn:focus-visible{outline:2px solid var(--af-navy); outline-offset:2px;}\r\n\r\n\/* --- Summary line --- *\/\r\n.af-niv__summary{\r\n  display:flex; align-items:center; flex-wrap:wrap;\r\n  gap:0 28px; padding:18px 24px; margin:0 0 22px;\r\n  background:#F5F5F7; border-radius:18px;\r\n}\r\n.af-niv__fact{display:flex; align-items:baseline; gap:8px;}\r\n.af-niv__fact + .af-niv__fact{\r\n  position:relative; padding-left:28px; margin-left:-20px;\r\n}\r\n.af-niv__fact + .af-niv__fact::before{\r\n  content:\"\"; position:absolute; left:0; top:50%; transform:translateY(-50%);\r\n  width:1px; height:18px; background:rgba(26,46,108,.16);\r\n}\r\n.af-niv__flbl{\r\n  font-size:11px; text-transform:uppercase; letter-spacing:.1em;\r\n  color:var(--af-mute); white-space:nowrap;\r\n}\r\n\/* Values may wrap: \"Two evenings a week, over 7 weeks\" does not\r\n   fit on a single line below 1100 px. *\/\r\n.af-niv__fval{font-size:16px; font-weight:600; color:var(--af-navy);}\r\n\r\n\/* --- Rows --- *\/\r\n.af-niv__panel{display:none;}\r\n.af-niv__panel.is-active{display:block; animation:afNivFade .15s ease-out;}\r\n@keyframes afNivFade{from{opacity:0;} to{opacity:1;}}\r\n\r\n.af-niv__list{display:flex; flex-direction:column; gap:10px;}\r\n.af-niv__row{\r\n  text-decoration:none;\r\n  display:grid; grid-template-columns:96px 1.4fr 1fr 1fr auto;\r\n  align-items:center;\r\n  gap:24px; align-items:center;\r\n  padding:20px 24px; border-radius:20px;\r\n  border:1px solid var(--af-line); background:#fff; color:var(--af-navy);\r\n  box-shadow:0 2px 10px rgba(26,46,108,.06);\r\n  transition:background .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease;\r\n}\r\n.af-niv__code{font-size:32px; font-weight:600; letter-spacing:-.03em; line-height:1;}\r\n.af-niv__lbl{\r\n  display:block; font-size:11px; text-transform:uppercase; letter-spacing:.1em;\r\n  color:var(--af-mute); margin:0 0 4px; transition:color .18s ease;\r\n}\r\n.af-niv__val{display:block; font-size:15.5px; line-height:1.35;}\r\n.af-niv__cta{\r\n  display:inline-block; white-space:nowrap;\r\n  font-size:15px; font-weight:500; padding:12px 26px; border-radius:999px;\r\n  background:#fff; border:1px solid var(--af-navy); color:var(--af-navy);\r\n  transition:background .18s ease, border-color .18s ease, color .18s ease;\r\n}\r\n.af-niv__arrow{\r\n  display:none; font-size:26px; line-height:1; color:var(--af-mute);\r\n  justify-self:end; align-self:center;\r\n  transition:color .18s ease;\r\n}\r\n.af-niv__row:focus-visible{outline:2px solid var(--af-navy); outline-offset:2px;}\r\n\r\n\/* Hover: only on devices that have one *\/\r\n@media (hover:hover){\r\n  .af-niv__row:hover{\r\n    background:var(--af-navy); border-color:var(--af-navy); color:#fff;\r\n    box-shadow:0 12px 34px rgba(26,46,108,.16);\r\n  }\r\n  .af-niv__row:hover .af-niv__lbl{color:rgba(255,255,255,.55);}\r\n  .af-niv__row:hover .af-niv__cta{\r\n    background:var(--af-red); border-color:var(--af-red); color:#fff;\r\n  }\r\n  .af-niv__row:hover .af-niv__arrow{color:rgba(255,255,255,.7);}\r\n}\r\n.af-niv__row:active{\r\n  background:var(--af-navy); border-color:var(--af-navy); color:#fff;\r\n  box-shadow:0 12px 34px rgba(26,46,108,.16);\r\n}\r\n.af-niv__row:active .af-niv__lbl{color:rgba(255,255,255,.55);}\r\n.af-niv__row:active .af-niv__cta{\r\n  background:var(--af-red); border-color:var(--af-red); color:#fff;\r\n}\r\n.af-niv__row:active .af-niv__arrow{color:rgba(255,255,255,.7);}\r\n\r\n.af-niv__note{font-size:13px; line-height:1.5; color:var(--af-mute); margin:18px 0 0;}\r\n.af-niv__nclc-mob{display:none;}\r\n\r\n\/* --- Priority fixes over the theme styles --- *\/\r\n.af-niv__list .af-niv__row{margin:0 !important;}\r\n.af-niv__seg .af-niv__segbtn{margin:0 !important;}\r\n\r\n@media (max-width:900px){\r\n  .af-niv{padding:0; border:none; border-radius:0;}\r\n  .af-niv__head h2{font-size:32px;}\r\n  .af-niv__head p{font-size:16px;}\r\n\r\n  .af-niv__seg{\r\n    display:flex; flex-direction:column; gap:6px;\r\n    border-radius:20px; padding:5px; width:100%; margin:0 0 22px;\r\n  }\r\n  .af-niv__segbtn{\r\n    font-size:15.5px; padding:14px 20px; border-radius:16px;\r\n    text-align:left; min-height:48px;\r\n  }\r\n\r\n  .af-niv__summary{\r\n    flex-direction:column; align-items:flex-start; gap:12px;\r\n    padding:18px 20px; border-radius:16px;\r\n  }\r\n  .af-niv__fact + .af-niv__fact{padding-left:0; margin-left:0;}\r\n  .af-niv__fact + .af-niv__fact::before{display:none;}\r\n  .af-niv__fval{font-size:15.5px;}\r\n\r\n  .af-niv__row{\r\n    grid-template-columns:1fr auto; gap:10px 12px;\r\n    padding:20px; border-radius:20px;\r\n  }\r\n  .af-niv__code{font-size:30px;}\r\n  .af-niv__col--nclc{display:none;}\r\n  .af-niv__nclc-mob{\r\n    display:block; justify-self:end; align-self:center;\r\n    font-size:12.5px; color:var(--af-mute);\r\n  }\r\n  .af-niv__col--sub{grid-column:1 \/ -1;}\r\n  .af-niv__col--sub .af-niv__lbl{display:none;}\r\n  .af-niv__col--sub .af-niv__val{font-size:14.5px;}\r\n  .af-niv__col--hor{\r\n    grid-column:1; padding-top:12px;\r\n    border-top:1px solid rgba(26,46,108,.1);\r\n  }\r\n  .af-niv__cta{\r\n    padding-top:12px;\r\n    border-top:1px solid rgba(26,46,108,.1);\r\n    grid-column:2;\r\n  }\r\n  .af-niv__col--hor .af-niv__lbl{display:none;}\r\n  .af-niv__col--hor .af-niv__val{font-size:15px;}\r\n  \/* The button becomes a red text link, arrow built into the label *\/\r\n  .af-niv__cta{\r\n    background:transparent; border:none;\r\n    color:var(--af-red); font-size:15px; font-weight:600;\r\n    padding:0; border-radius:0;\r\n    justify-self:end; align-self:center; white-space:nowrap;\r\n  }\r\n  .af-niv__cta::after{content:\" \\203A\"; font-size:19px; line-height:0;}\r\n  .af-niv__arrow{display:none;}\r\n  @media (hover:hover){\r\n    .af-niv__row:hover .af-niv__nclc-mob{color:rgba(255,255,255,.55);}\r\n  }\r\n  .af-niv__row:active .af-niv__nclc-mob{color:rgba(255,255,255,.55);}\r\n}\r\n\r\n\/* --- Mobile: the block fills the full screen width --- *\/\r\n@media (max-width:900px){\r\n  .af-niv{\r\n    width:100vw !important;\r\n    max-width:100vw !important;\r\n    margin-left:calc(50% - 50vw) !important;\r\n    margin-right:calc(50% - 50vw) !important;\r\n    padding-left:16px !important;\r\n    padding-right:16px !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"af-niv\">\r\n\r\n  <div class=\"af-niv__head\">\r\n    <h2>Which pace fits your week?<\/h2>\r\n    <p>28 hours per sub-level, whichever pace you choose. Classes of 6 to 9 people, materials included.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"af-niv__seg\" role=\"tablist\" aria-label=\"Choose a course pace\">\r\n      <button class=\"af-niv__segbtn is-active\" role=\"tab\" aria-selected=\"true\" aria-controls=\"af-r0\" id=\"af-sb0\" type=\"button\">Weekday regular<\/button>\r\n      <button class=\"af-niv__segbtn\" role=\"tab\" aria-selected=\"false\" aria-controls=\"af-r1\" id=\"af-sb1\" type=\"button\">Saturday regular<\/button>\r\n      <button class=\"af-niv__segbtn\" role=\"tab\" aria-selected=\"false\" aria-controls=\"af-r2\" id=\"af-sb2\" type=\"button\">Weekday intensive<\/button>\r\n  <\/div>\r\n\r\n  <!-- ============ PACE 1: WEEKDAY REGULAR ============ -->\r\n  <div class=\"af-niv__panel is-active\" role=\"tabpanel\" id=\"af-r0\" aria-labelledby=\"af-sb0\" aria-live=\"polite\">\r\n    <div class=\"af-niv__summary\">\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Length per sub-level<\/span><span class=\"af-niv__fval\">28 hours<\/span><\/span>\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Time<\/span><span class=\"af-niv__fval\">6 p.m. to 8 p.m.<\/span><\/span>\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Format<\/span><span class=\"af-niv__fval\">Two evenings a week, over 7 weeks<\/span><\/span>\r\n    <\/div>\r\n    <div class=\"af-niv__list\">\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level A1, weekday regular\">\r\n        <div class=\"af-niv__code\">A1<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 1 to 2<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">A1.1 \/ A1.2 \/ A1.3<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">1 to 2<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Monday and Wednesday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level A2, weekday regular\">\r\n        <div class=\"af-niv__code\">A2<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 3 to 4<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">A2.1 \/ A2.2 \/ A2.3 \/ A2.4<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">3 to 4<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Monday and Wednesday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level B1, weekday regular\">\r\n        <div class=\"af-niv__code\">B1<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 5 to 6<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">B1.1 \/ B1.2 \/ B1.3 \/ B1.4 \/ B1.5<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">5 to 6<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Tuesday and Thursday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level B2, weekday regular\">\r\n        <div class=\"af-niv__code\">B2<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 7 to 8<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">B2.1 \/ B2.2 \/ B2.3 \/ B2.4 \/ B2.5<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">7 to 8<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Tuesday and Thursday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level C1 C2, weekday regular\">\r\n        <div class=\"af-niv__code\">C1\/C2<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 9 to 12<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">C1 \/ C2<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">9 to 12<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Monday and Wednesday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n    <\/div>\r\n    <p class=\"af-niv__note\">Five levels offered, from complete beginner to C2.<\/p>\r\n  <\/div>\r\n\r\n  <!-- ============ PACE 2: SATURDAY REGULAR ============ -->\r\n  <div class=\"af-niv__panel\" role=\"tabpanel\" id=\"af-r1\" aria-labelledby=\"af-sb1\" aria-live=\"polite\">\r\n    <div class=\"af-niv__summary\">\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Length per sub-level<\/span><span class=\"af-niv__fval\">28 hours<\/span><\/span>\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Time<\/span><span class=\"af-niv__fval\">10 a.m. to 1 p.m.<\/span><\/span>\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Format<\/span><span class=\"af-niv__fval\">One morning a week, over 7 weeks<\/span><\/span>\r\n    <\/div>\r\n    <div class=\"af-niv__list\">\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level A1, Saturday regular\">\r\n        <div class=\"af-niv__code\">A1<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 1 to 2<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">A1.1 \/ A1.2 \/ A1.3<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">1 to 2<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Saturday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n    <\/div>\r\n    <p class=\"af-niv__note\">Offered at A1 only. Other levels run as weekday regular or intensive.<\/p>\r\n  <\/div>\r\n\r\n  <!-- ============ PACE 3: WEEKDAY INTENSIVE ============ -->\r\n  <div class=\"af-niv__panel\" role=\"tabpanel\" id=\"af-r2\" aria-labelledby=\"af-sb2\" aria-live=\"polite\">\r\n    <div class=\"af-niv__summary\">\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Length per sub-level<\/span><span class=\"af-niv__fval\">28 hours<\/span><\/span>\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Time<\/span><span class=\"af-niv__fval\">9 a.m. to noon<\/span><\/span>\r\n      <span class=\"af-niv__fact\"><span class=\"af-niv__flbl\">Format<\/span><span class=\"af-niv__fval\">Four mornings a week, over 2 weeks<\/span><\/span>\r\n    <\/div>\r\n    <div class=\"af-niv__list\">\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level A1, weekday intensive\">\r\n        <div class=\"af-niv__code\">A1<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 1 to 2<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">A1.1 \/ A1.2 \/ A1.3<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">1 to 2<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Monday to Thursday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level A2, weekday intensive\">\r\n        <div class=\"af-niv__code\">A2<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 3 to 4<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">A2.1 \/ A2.2 \/ A2.3 \/ A2.4<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">3 to 4<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Monday to Thursday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n      <a class=\"af-niv__row\" href=\"#module-aec\" aria-label=\"Choose level B1, weekday intensive\">\r\n        <div class=\"af-niv__code\">B1<\/div>\r\n        <span class=\"af-niv__nclc-mob\">CLB \/ NCLC 5 to 6<\/span>\r\n        <div class=\"af-niv__col--sub\"><span class=\"af-niv__lbl\">Sub-levels<\/span><span class=\"af-niv__val\">B1.1 \/ B1.2 \/ B1.3 \/ B1.4 \/ B1.5<\/span><\/div>\r\n        <div class=\"af-niv__col--nclc\"><span class=\"af-niv__lbl\">CLB \/ NCLC equivalent<\/span><span class=\"af-niv__val\">5 to 6<\/span><\/div>\r\n        <div class=\"af-niv__col--hor\"><span class=\"af-niv__lbl\">Days<\/span><span class=\"af-niv__val\">Monday to Thursday<\/span><\/div>\r\n        <span class=\"af-niv__cta\" aria-hidden=\"true\">Choose<\/span>\r\n        <span class=\"af-niv__arrow\" aria-hidden=\"true\">&rsaquo;<\/span>\r\n      <\/a>\r\n\r\n    <\/div>\r\n    <p class=\"af-niv__note\">Offered up to B1 for now. Levels B2 and C run as weekday regular.<\/p>\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  var roots = document.querySelectorAll('.af-niv');\r\n  Array.prototype.forEach.call(roots, function(root){\r\n    if (root.dataset.afInit) return;\r\n    root.dataset.afInit = '1';\r\n\r\n    var btns   = root.querySelectorAll('.af-niv__segbtn');\r\n    var panels = root.querySelectorAll('.af-niv__panel');\r\n\r\n    function activer(i){\r\n      Array.prototype.forEach.call(btns, function(b, j){\r\n        b.classList.toggle('is-active', i === j);\r\n        b.setAttribute('aria-selected', i === j ? 'true' : 'false');\r\n      });\r\n      Array.prototype.forEach.call(panels, function(p, j){\r\n        p.classList.toggle('is-active', i === j);\r\n      });\r\n    }\r\n\r\n    Array.prototype.forEach.call(btns, function(btn, i){\r\n      btn.addEventListener('click', function(){ activer(i); });\r\n      btn.addEventListener('keydown', function(e){\r\n        var n = null;\r\n        if (e.key === 'ArrowRight' || e.key === 'ArrowDown') n = (i + 1) % btns.length;\r\n        if (e.key === 'ArrowLeft'  || e.key === 'ArrowUp')   n = (i - 1 + btns.length) % btns.length;\r\n        if (n !== null){ e.preventDefault(); btns[n].focus(); activer(n); }\r\n      });\r\n    });\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<script>\r\n\/* ================================================================\r\n   Level rows: scripted scrolling to the AEC module.\r\n\r\n   Native anchor jumping is intercepted on this site, so we compute\r\n   the position ourselves, offset by the header height when the\r\n   header is fixed or sticky.\r\n\r\n   Fallback: if the #module-aec anchor is missing, target the last\r\n   .kiosque-aec occurrence, the first being the header cart.\r\n   ================================================================ *\/\r\n(function () {\r\n  function entete() {\r\n    var h = document.querySelector('header, .aux-header, .site-header');\r\n    if (!h) return 0;\r\n    var pos = getComputedStyle(h).position;\r\n    if (pos !== 'fixed' && pos !== 'sticky') return 0;\r\n    return Math.round(h.getBoundingClientRect().height);\r\n  }\r\n\r\n  function cible() {\r\n    var el = document.getElementById('module-aec');\r\n    if (el) return el;\r\n    var tous = document.querySelectorAll('.kiosque-aec');\r\n    return (tous.length > 1) ? tous[tous.length - 1] : null;\r\n  }\r\n\r\n  document.addEventListener('click', function (e) {\r\n    if (!e.target.closest) return;\r\n    var a = e.target.closest('.af-niv__row');\r\n    if (!a) return;\r\n\r\n    var dest = cible();\r\n    if (!dest) return;   \/\/ nothing found: let the link behave normally\r\n\r\n    e.preventDefault();\r\n    window.scrollTo({\r\n      top: dest.getBoundingClientRect().top + window.pageYOffset - entete() - 16,\r\n      behavior: 'smooth'\r\n    });\r\n    if (history.replaceState) history.replaceState(null, '', '#module-aec');\r\n\r\n    if (window.gtag) {\r\n      var racine = a.closest('.af-niv');\r\n      var actif  = racine ? racine.querySelector('.af-niv__segbtn.is-active') : null;\r\n      var code   = a.querySelector('.af-niv__code');\r\n      gtag('event', 'clic_reserver', {\r\n        bloc_source: 'rythme',\r\n        niveau: code ? code.textContent.trim() : '',\r\n        rythme: actif ? actif.textContent.trim() : ''\r\n      });\r\n    }\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-045b310 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"045b310\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4d2f483\" data-id=\"4d2f483\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-69b9bfef elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"69b9bfef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Reserve your spot  <\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8a9911c elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"8a9911c\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2d34ecb\" data-id=\"2d34ecb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-872703d elementor-widget elementor-widget-html\" data-id=\"872703d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ================================================================\r\n     AFMTL \u2014 \"Price\" section \u2014 discount calculator (EN) \u2014 option 1B\r\n     TEXT    : everything is inside the <div class=\"af-calc\"> block below.\r\n     PRICE   : edit data-base=\"588\" and data-hours=\"28\" on .af-calc\r\n     DISCOUNT: edit data-rate on each <input>\r\n     LINK    : search for href=\" in the .af-calc__cta button\r\n\r\n     Number format: English uses $588 and a comma for thousands\r\n     ($1,029), where French uses 588 $ and a thin space.\r\n     ================================================================ -->\r\n\r\n<style>\r\n.af-calc *{box-sizing:border-box;}\r\n.af-calc{\r\n  --af-navy:#1A2E6C; --af-red:#D6001C; --af-red-dark:#B30017;\r\n  --af-grey:#6E6E73; --af-panel:#F5F5F7; --af-line:rgba(26,46,108,.12);\r\n  --af-mute:#98989D;\r\n  font-family:'Instrument Sans',sans-serif;\r\n  background:transparent; border:none; border-radius:0;\r\n  padding:0; max-width:1220px; margin:0 auto;\r\n}\r\n\/* Top band: price block on the left, button on the right.\r\n   The navy bar was removed; its information moved up into the\r\n   heading and into the figures line that follows it. *\/\r\n.af-calc__top{\r\n  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:40px;\r\n  align-items:center; margin:0 0 22px;\r\n}\r\n.af-calc__intro{margin:0;}\r\n.af-calc__intro h2{\r\n  font-family:'Playfair Display',serif !important;\r\n  font-size:36px; font-weight:900; line-height:1.1; letter-spacing:-.035em;\r\n  color:var(--af-navy); margin:0 0 6px;\r\n}\r\n\/* The price lives in the heading: navy at full price, red as soon\r\n   as a discount applies. Only the number changes colour. *\/\r\n.af-calc__h2num{color:var(--af-navy); transition:color .18s ease;}\r\n.af-calc__h2num.is-off{color:var(--af-red);}\r\n.af-calc__lede{\r\n  font-size:15px; line-height:1.45; color:var(--af-grey);\r\n  margin:10px 0 0; max-width:560px;\r\n}\r\n\r\n\/* ---------- Final-price notice ----------\r\n   Placed right under the price block, before the options: that is\r\n   where the visitor looks when discovering the amount. *\/\r\n.af-calc__final{\r\n  display:flex; align-items:flex-start; gap:12px;\r\n  background:var(--af-panel); border-left:3px solid var(--af-red);\r\n  border-radius:0 14px 14px 0;\r\n  padding:14px 18px; margin:0 0 18px;\r\n  font-size:13.5px; line-height:1.45; color:var(--af-navy);\r\n}\r\n\/* The text is wrapped in a single element: without it, each node\r\n   would become its own flex item and the message would break into\r\n   two columns. *\/\r\n.af-calc__final__txt{flex:1 1 auto; min-width:0;}\r\n.af-calc__final b{display:block; font-weight:600;}\r\n.af-calc__final::before{\r\n  content:\"\\2139\"; flex:0 0 auto;\r\n  display:flex; align-items:center; justify-content:center;\r\n  width:20px; height:20px; border-radius:50%;\r\n  background:var(--af-red); color:#fff;\r\n  font-size:12px; font-weight:700; line-height:1;\r\n}\r\n\r\n\/* ---------- Figures line under the heading ---------- *\/\r\n.af-calc__meta{\r\n  display:flex; align-items:center; flex-wrap:wrap; gap:8px 16px;\r\n  margin:10px 0 0;\r\n}\r\n.af-calc__body{\r\n  background:transparent; padding:0;\r\n}\r\n.af-calc__options{\r\n  display:grid; grid-template-columns:repeat(3, 1fr); gap:12px;\r\n  align-items:stretch;\r\n}\r\n\r\n.af-calc__opt{\r\n  position:relative; display:flex; align-items:center; gap:12px;\r\n  padding:16px 18px; border:1px solid var(--af-line); border-radius:20px;\r\n  background:#fff; cursor:pointer;\r\n  box-shadow:0 2px 10px rgba(26,46,108,.06);\r\n  transition:border-color .18s ease, box-shadow .18s ease;\r\n}\r\n@media (hover:hover){\r\n  .af-calc__opt:hover{\r\n    border-color:rgba(26,46,108,.32);\r\n    box-shadow:0 6px 20px rgba(26,46,108,.10);\r\n  }\r\n}\r\n.af-calc__opt.is-on{\r\n  border-color:var(--af-navy);\r\n  box-shadow:0 12px 34px rgba(26,46,108,.16);\r\n}\r\n.af-calc__opt:focus-within{outline:2px solid var(--af-navy); outline-offset:2px;}\r\n.af-calc__opt input{\r\n  position:absolute; opacity:0; width:24px; height:24px; margin:0; cursor:pointer;\r\n}\r\n.af-calc__box{\r\n  flex:0 0 auto; width:24px; height:24px; border-radius:8px;\r\n  border:1px solid rgba(26,46,108,.2); background:#fff;\r\n  display:flex; align-items:center; justify-content:center;\r\n  transition:background .18s ease, border-color .18s ease;\r\n}\r\n.af-calc__box::after{\r\n  content:\"\\2713\"; color:#fff; font-size:13px; font-weight:700;\r\n  opacity:0; transition:opacity .18s ease;\r\n}\r\n.af-calc__opt.is-on .af-calc__box{background:var(--af-navy); border-color:var(--af-navy);}\r\n.af-calc__opt.is-on .af-calc__box::after{opacity:1;}\r\n.af-calc__txt{display:flex; flex-direction:column; gap:2px; flex:1 1 auto; min-width:0;}\r\n.af-calc__label{font-size:15px; font-weight:500; color:var(--af-navy); line-height:1.25;}\r\n.af-calc__desc{font-size:12.5px; color:var(--af-grey); line-height:1.3;}\r\n.af-calc__off{\r\n  flex:0 0 auto; white-space:nowrap; align-self:center;\r\n  font-size:15px; font-weight:600; color:var(--af-red);\r\n}\r\n.af-calc__note{\r\n  display:block;\r\n  font-size:12.5px; line-height:1.45; color:var(--af-mute);\r\n  margin:14px 0 0;\r\n}\r\n\r\n.af-calc__was{\r\n  font-size:16px; color:var(--af-mute); text-decoration:line-through;\r\n  display:none;\r\n}\r\n.af-calc__was.is-shown{display:inline;}\r\n.af-calc__session{font-size:15px; color:var(--af-grey); margin:0;}\r\n.af-calc__save{\r\n  display:inline-block; font-size:14px; font-weight:600;\r\n  padding:7px 14px; border-radius:999px;\r\n  background:rgba(214,0,28,.08); color:var(--af-red);\r\n  transition:background .18s ease, color .18s ease;\r\n}\r\n.af-calc__save.is-empty{background:var(--af-panel); color:var(--af-mute); font-weight:500;}\r\n.af-calc__cta{\r\n  display:inline-block; text-align:center; white-space:nowrap;\r\n  background:var(--af-red); color:#fff; text-decoration:none;\r\n  font-size:16px; font-weight:500; padding:15px 30px; border-radius:999px;\r\n  transition:background .18s ease;\r\n}\r\n.af-calc__cta:hover,.af-calc__cta:focus{background:var(--af-red-dark); color:#fff;}\r\n.af-calc__cta:focus-visible{outline:2px solid #fff; outline-offset:2px;}\r\n\r\n\/* --- Priority fixes over the theme styles --- *\/\r\n.af-calc__options .af-calc__opt{margin:0 !important;}\r\n\r\n\/* Below 1080 px the two top columns stack.\r\n   The band keeps its layout, across the full width. *\/\r\n@media (max-width:1080px){\r\n  .af-calc__intro h2{font-size:32px;}\r\n  .af-calc__lede{max-width:none;}\r\n}\r\n\r\n@media (max-width:780px){\r\n  .af-calc{padding:0; border:none; border-radius:0;}\r\n  .af-calc__top{grid-template-columns:1fr; gap:18px; margin-bottom:20px;}\r\n  .af-calc__intro h2{font-size:30px;}\r\n  .af-calc__lede{font-size:15px;}\r\n  .af-calc__meta{gap:8px 12px;}\r\n  .af-calc__body{padding:0;}\r\n  .af-calc__options{grid-template-columns:1fr; gap:8px;}\r\n  .af-calc__opt{padding:16px; min-height:60px; border-radius:18px;}\r\n  .af-calc__label{font-size:16px;}\r\n  .af-calc__desc{font-size:13px;}\r\n  .af-calc__off{font-size:15px;}\r\n  .af-calc__was{font-size:15px;}\r\n  .af-calc__final{font-size:13px; padding:13px 15px; margin-bottom:16px;}\r\n  .af-calc__cta{width:100%; padding:15px 24px;}\r\n}\r\n\r\n\/* --- Mobile: the block breaks out of the container to fill the\r\n       full screen width, whatever margins the Elementor section\r\n       or the theme may apply. --- *\/\r\n@media (max-width:780px){\r\n  .af-calc{\r\n    width:100vw !important;\r\n    max-width:100vw !important;\r\n    margin-left:calc(50% - 50vw) !important;\r\n    margin-right:calc(50% - 50vw) !important;\r\n    padding-left:16px !important;\r\n    padding-right:16px !important;\r\n  }\r\n}\r\n<\/style>\r\n\r\n<div class=\"af-calc\" data-base=\"588\" data-hours=\"28\">\r\n\r\n  <div class=\"af-calc__top\">\r\n\r\n  <div class=\"af-calc__intro\">\r\n    <h2><span class=\"af-calc__h2num\">$21.00<\/span> <span class=\"af-calc__h2unit\">per hour<\/span>. <span class=\"af-calc__h2tail\">Often less.<\/span><\/h2>\r\n    <p class=\"af-calc__meta\" aria-live=\"polite\">\r\n      <s class=\"af-calc__was\">$588<\/s>\r\n      <span class=\"af-calc__session\">$588 per session &middot; 28 hours<\/span>\r\n      <span class=\"af-calc__save is-empty\">No discount selected<\/span>\r\n    <\/p>\r\n    <p class=\"af-calc__lede\">A certified teacher, a group of 6 to 9 people and course materials included.<\/p>\r\n  <\/div>\r\n\r\n  <a class=\"af-calc__cta\" href=\"#module-aec\">Choose my session<\/a>\r\n\r\n  <\/div><!-- \/.af-calc__top -->\r\n\r\n  <p class=\"af-calc__final\">\r\n    <span class=\"af-calc__final__txt\">\r\n      <b>The exact amount will be shown in the cart,<\/b>\r\n      before you place your order.\r\n    <\/span>\r\n  <\/p>\r\n\r\n  <div class=\"af-calc__body\">\r\n    <div class=\"af-calc__options\">\r\n\r\n      <label class=\"af-calc__opt\">\r\n        <input type=\"checkbox\" data-rate=\"10\" data-exclusive=\"false\">\r\n        <span class=\"af-calc__box\" aria-hidden=\"true\"><\/span>\r\n        <span class=\"af-calc__txt\">\r\n          <span class=\"af-calc__label\">I register early<\/span>\r\n          <span class=\"af-calc__desc\">Before August 21, 2026.<\/span>\r\n        <\/span>\r\n        <span class=\"af-calc__off\">&minus;10%<\/span>\r\n      <\/label>\r\n\r\n      <label class=\"af-calc__opt\">\r\n        <input type=\"checkbox\" data-rate=\"5\" data-exclusive=\"false\">\r\n        <span class=\"af-calc__box\" aria-hidden=\"true\"><\/span>\r\n        <span class=\"af-calc__txt\">\r\n          <span class=\"af-calc__label\">I have already taken a session<\/span>\r\n          <span class=\"af-calc__desc\">Loyalty discount, consecutive sessions.<\/span>\r\n        <\/span>\r\n        <span class=\"af-calc__off\">&minus;5%<\/span>\r\n      <\/label>\r\n\r\n      <label class=\"af-calc__opt\">\r\n        <input type=\"checkbox\" data-rate=\"25\" data-exclusive=\"true\" data-multi=\"2\">\r\n        <span class=\"af-calc__box\" aria-hidden=\"true\"><\/span>\r\n        <span class=\"af-calc__txt\">\r\n          <span class=\"af-calc__label\">Two intensive sessions in a row<\/span>\r\n          <span class=\"af-calc__desc\">Bought together, the second at &minus;25%. Cannot be combined.<\/span>\r\n        <\/span>\r\n        <span class=\"af-calc__off\">&minus;25%<\/span>\r\n      <\/label>\r\n\r\n    <\/div>\r\n    <span class=\"af-calc__note\">Early bird and loyalty can be combined. The intensive discount cannot be combined with any other. Indicative price, confirmed at registration.<\/span>\r\n  <\/div>\r\n\r\n<\/div><!-- \/.af-calc -->\r\n\r\n<script>\r\n(function () {\r\n  var roots = document.querySelectorAll('.af-calc');\r\n  Array.prototype.forEach.call(roots, function (root) {\r\n    if (root.dataset.afInit) return;\r\n    root.dataset.afInit = '1';\r\n\r\n    var BASE  = parseFloat(root.dataset.base)  || 588;\r\n    var HOURS = parseFloat(root.dataset.hours) || 28;\r\n    var boxes = root.querySelectorAll('.af-calc__opt input');\r\n\r\n    \/\/ English format: symbol first, dot for decimals.\r\n    function money(n) { return '$' + n.toFixed(2); }\r\n\r\n    \/\/ English format: comma as the thousands separator.\r\n    function entier(n) {\r\n      return '$' + String(n).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g, ',');\r\n    }\r\n\r\n    function update(changed) {\r\n      if (changed && changed.checked) {\r\n        Array.prototype.forEach.call(boxes, function (b) {\r\n          if (b === changed) return;\r\n          var conflit = (changed.dataset.exclusive === 'true')\r\n                     || (b.dataset.exclusive === 'true');\r\n          if (conflit) b.checked = false;\r\n        });\r\n      }\r\n\r\n      var taux = 0, multi = 1, coches = 0;\r\n      Array.prototype.forEach.call(boxes, function (b) {\r\n        var ligne = b.parentNode;\r\n        if (ligne && ligne.classList) ligne.classList.toggle('is-on', b.checked);\r\n        if (!b.checked) return;\r\n        coches++;\r\n        taux += parseFloat(b.dataset.rate) \/ 100;\r\n        if (b.dataset.multi) multi = parseFloat(b.dataset.multi);\r\n      });\r\n\r\n      \/\/ The discount applies only to the extra units: the first\r\n      \/\/ one is full price, the following ones are discounted.\r\n      var plein   = BASE;\r\n      var remise  = BASE * (multi - 1) * (1 - taux);\r\n      var total   = (multi > 1) ? Math.round(plein + remise)\r\n                                : Math.round(BASE * (1 - taux));\r\n      var reference = BASE * multi;\r\n      var eco     = reference - total;\r\n      var heures  = HOURS * multi;\r\n\r\n      \/\/ Mirrored in the heading.\r\n      var h2n = root.querySelector('.af-calc__h2num');\r\n      var h2u = root.querySelector('.af-calc__h2unit');\r\n      var h2t = root.querySelector('.af-calc__h2tail');\r\n      if (h2n) h2n.classList.toggle('is-off', taux > 0);\r\n      if (h2u) h2u.textContent = 'per hour';\r\n      if (h2t) {\r\n        h2t.textContent = (taux === 0) ? 'Often less.'\r\n                        : (coches > 1) ? 'With your discounts.' : 'With your discount.';\r\n      }\r\n      \/\/ The heading carries the hourly rate, the figures line carries\r\n      \/\/ the session price. This is the reverse of v1.\r\n      if (h2n) h2n.textContent = money(total \/ heures);\r\n\r\n      root.querySelector('.af-calc__session').textContent =\r\n        entier(total) + ((multi > 1) ? ' for both sessions' : ' per session')\r\n        + ' \\u00B7 ' + heures + ' hours';\r\n\r\n      var was = root.querySelector('.af-calc__was');\r\n      was.textContent = entier(reference);\r\n      was.classList.toggle('is-shown', taux > 0);\r\n\r\n      var eco_el = root.querySelector('.af-calc__save');\r\n      eco_el.textContent = taux ? 'You save ' + entier(eco)\r\n                                : 'No discount selected';\r\n      eco_el.classList.toggle('is-empty', taux === 0);\r\n    }\r\n\r\n    Array.prototype.forEach.call(boxes, function (b) {\r\n      b.addEventListener('change', function () { update(b); });\r\n    });\r\n    update();\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<script>\r\n\/* ================================================================\r\n   \"Choose my session\" button: scripted scrolling to the AEC module.\r\n\r\n   Native anchor jumping is neutralised on this site (the theme or\r\n   a plugin intercepts it), so we compute the position ourselves,\r\n   offset by the height of the fixed header.\r\n\r\n   Fallback: if the #module-aec anchor is missing, target the last\r\n   .kiosque-aec occurrence, the first being the header cart.\r\n   ================================================================ *\/\r\n(function () {\r\n  function entete() {\r\n    var h = document.querySelector('header, .aux-header, .site-header');\r\n    if (!h) return 0;\r\n    var pos = getComputedStyle(h).position;\r\n    if (pos !== 'fixed' && pos !== 'sticky') return 0;\r\n    return Math.round(h.getBoundingClientRect().height);\r\n  }\r\n\r\n  function cible() {\r\n    var el = document.getElementById('module-aec');\r\n    if (el) return el;\r\n    var tous = document.querySelectorAll('.kiosque-aec');\r\n    return (tous.length > 1) ? tous[tous.length - 1] : null;\r\n  }\r\n\r\n  document.addEventListener('click', function (e) {\r\n    if (!e.target.closest) return;\r\n    var a = e.target.closest('.af-calc__cta');\r\n    if (!a) return;\r\n\r\n    var dest = cible();\r\n    if (!dest) return;   \/\/ nothing found: let the link behave normally\r\n\r\n    e.preventDefault();\r\n    window.scrollTo({\r\n      top: dest.getBoundingClientRect().top + window.pageYOffset - entete() - 16,\r\n      behavior: 'smooth'\r\n    });\r\n    if (history.replaceState) history.replaceState(null, '', '#module-aec');\r\n\r\n    if (window.gtag) {\r\n      gtag('event', 'clic_reserver', { bloc_source: 'calculateur' });\r\n    }\r\n  });\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c014004 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"c014004\" data-element_type=\"section\" data-e-type=\"section\" id=\"module-aec\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-de776ab\" data-id=\"de776ab\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9c2a781 elementor-widget elementor-widget-shortcode\" data-id=\"9c2a781\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div class='kiosque-aec'><div\n data-module='classes'\n data-action='courses-wizard'\n data-param-id-subject='1'\n data-param-id-classification='2'\n data-param-lang='en_US'><\/div><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-e68828d elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"e68828d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d147ac5\" data-id=\"d147ac5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cece71a elementor-widget elementor-widget-html\" data-id=\"cece71a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- ================================================================\r\n     AFMTL \u2014 Recentrage du module AEC au changement d etape\r\n\r\n     A placer dans un widget HTML juste APRES le widget Code court\r\n     qui contient [aec_courses_wizard ...].\r\n\r\n     Probleme resolu : le module change de hauteur d une etape a\r\n     l autre. Le navigateur garde sa position de defilement, donc\r\n     l utilisateur se retrouve sous le module (dans la FAQ).\r\n\r\n     Important : la classe .kiosque-aec est aussi utilisee par le\r\n     panier dans l en-tete du site. Le script cible donc la\r\n     DERNIERE occurrence, celle du module d inscription.\r\n     ================================================================ -->\r\n\r\n<script>\r\n(function () {\r\n  var DECALAGE = 39;   \/\/ marge au-dessus du module, en pixels\r\n  var DELAI    = 180;  \/\/ filet de securite, apres le rendu d Angular\r\n  var essais   = 0;\r\n\r\n  function demarrer() {\r\n    var tous = document.querySelectorAll('.kiosque-aec');\r\n    \/\/ Le module Angular se construit apres le chargement : on attend.\r\n    if (tous.length < 2) {\r\n      if (++essais < 40) { setTimeout(demarrer, 250); }\r\n      return;\r\n    }\r\n\r\n    var mod = tous[tous.length - 1];\r\n    if (mod.dataset.afScroll) return;\r\n    mod.dataset.afScroll = '1';\r\n\r\n    function recentrer() {\r\n      window.scrollTo({\r\n        top: mod.getBoundingClientRect().top + window.pageYOffset - DECALAGE,\r\n        behavior: 'auto'\r\n      });\r\n    }\r\n\r\n    mod.addEventListener('click', function (e) {\r\n      if (!e.target.closest('.btn')) return;\r\n\r\n      \/\/ Remontee immediate, avant meme le rendu de la nouvelle etape.\r\n      recentrer();\r\n\r\n      \/\/ Puis une correction au premier repaint et une seconde de securite,\r\n      \/\/ le temps qu Angular ait fini de construire l etape.\r\n      requestAnimationFrame(recentrer);\r\n      setTimeout(recentrer, DELAI);\r\n    });\r\n  }\r\n\r\n  if (document.readyState === 'loading') {\r\n    document.addEventListener('DOMContentLoaded', demarrer);\r\n  } else {\r\n    demarrer();\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f7e5312 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"f7e5312\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-059464d\" data-id=\"059464d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5f9ae1e elementor-widget elementor-widget-spacer\" data-id=\"5f9ae1e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3b79f42 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"3b79f42\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;,&quot;shape_divider_top&quot;:&quot;curve-asymmetrical&quot;}\">\n\t\t\t\t\t<div class=\"elementor-shape elementor-shape-top\" aria-hidden=\"true\" data-negative=\"false\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 1000 100\" preserveAspectRatio=\"none\">\n\t<path class=\"elementor-shape-fill\" d=\"M0,0c0,0,0,6,0,6.7c0,18,240.2,93.6,615.2,92.6C989.8,98.5,1000,25,1000,6.7c0-0.7,0-6.7,0-6.7H0z\"\/>\n<\/svg>\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6b03576\" data-id=\"6b03576\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2393eda4 elementor-widget elementor-widget-heading\" data-id=\"2393eda4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Do you have a question?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6bc450 elementor-hidden-tablet elementor-hidden-mobile elementor-widget elementor-widget-spacer\" data-id=\"e6bc450\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-b196ffe elementor-section-boxed elementor-section-height-default elementor-section-height-default wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no\" data-id=\"b196ffe\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-4d322d6\" data-id=\"4d322d6\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-34d01b61 wpr-advanced-accordion-icon-no-box elementor-widget__width-initial elementor-widget elementor-widget-wpr-advanced-accordion\" data-id=\"34d01b61\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;active_item&quot;:1}\" data-widget_type=\"wpr-advanced-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n            <div class=\"wpr-advanced-accordion\" data-accordion-type=\"accordion\" data-active-index=\"1\" data-accordion-trigger=\"click\" data-interaction-speed=\"0.4\">\n\n\t\t\t\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">How do I register for a course or workshop?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Simply choose your course or workshop directly on the website. <\/p><p>Registration is personal and cannot be transferred to another person.<\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">When does my registration become official?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Your place is confirmed only when all fees have been paid.  <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">If I start a course I've already begun, do I pay the full price?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Yes, even if the session has already begun, the full amount for the session is due.  <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">What fees do I have to pay?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p><strong>Course or workshop fees:<\/strong><br\/>The amount varies depending on the duration, level, or type of activity.  <\/p><p><strong>Annual Registration Fee \u2013 $55:<\/strong><br\/>Required for the first registration of the year (class or workshop), valid for 12 months, and includes:  <\/p><ul><li>Administrative Fees<\/li><li>Educational Licenses  <\/li><li>Discounted rates on workshops and hands-on activities  <\/li><li>Exclusive access to cultural activities<\/li><li>These fees are non-refundable and non-transferable. <\/li><\/ul><p><strong>Educational materials (courses only):<\/strong><\/p><ul><li>In-person: textbook + workbook provided free of charge<\/li><li>Online: digital key sent on the first day <br\/>(paper version available for an additional fee)<\/li><li>Educational materials are non-refundable<\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">How can I pay?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Payment is made online at the time of registration.  <br>If your employer finances the training, payment must be received 7 days before the first session.  <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">What will I receive after I register?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>A confirmation email, which officially confirms your spot, including:  <\/p><ul><li>Course\/Workshop Information<\/li><li>Dates and Times<\/li><li>Tips for getting off to a good start.  <\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">What are my responsibilities as a student?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>By registering, you confirm that :  <\/p><ul><li>You are at least 18 years old<\/li><li>The course you've chosen matches your level<\/li><li>Have you checked your availability?<\/li><li>The AFMTL is not responsible for your personal changes (schedule changes, moving, etc.)  <\/li><li>Absences do not entitle students to any refund, credit, or make-up session.  <\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">Do I have to take the online placement test and\/or oral evaluation before I can register?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><ul><li>Yes, if you already have some knowledge of French.  <br>The assessment fee is refunded upon registration for a group French class (one refund per person, whether for the online test or the interview with a teacher).<\/li><\/ul><ul><li>Not if you're a complete beginner.<\/li><\/ul><ul><li>No, if you are re-registering for a session already in progress.<\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                            <\/div>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"aux-parallax-section elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-d3f62a1\" data-id=\"d3f62a1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a85ca84 wpr-advanced-accordion-icon-no-box elementor-widget__width-initial elementor-widget elementor-widget-wpr-advanced-accordion\" data-id=\"a85ca84\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;active_item&quot;:1}\" data-widget_type=\"wpr-advanced-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\n            <div class=\"wpr-advanced-accordion\" data-accordion-type=\"accordion\" data-active-index=\"1\" data-accordion-trigger=\"click\" data-interaction-speed=\"0.4\">\n\n\t\t\t\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">What happens if there aren't enough students?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>4 students or more: session opens normally.<\/p><p>3 students: the session is reduced to 2\/3 of its duration (semi-private format). <\/p><p><strong>Less than 3 students<\/strong>: the course or workshop may be cancelled.<\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">Can the teacher change?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Yes, the AFMTL can change the teacher without prior notice.  <br>This change does not allow you to request a refund or transfer.  <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">When can I be excluded from a course?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>In case of behavior : <\/p><ul><li>Violent, aggressive, or discriminatory<\/li><li>Disruptive or disrespectful toward other students or staff.<\/li><li>Exclusion is without refund. <\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">Can I cancel my registration before the course starts?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Yes, if you write to info@afmtl.ca at least 5 working days before the first session. <\/p><p>If this deadline is met : <\/p><ul><li>Refund available, minus a $75 administrative fee  <\/li><li>the $55 annual fee remains due and non-refundable <\/li><\/ul><p>Less than 5 business days before the start date: No refunds, credits, or transfers.<\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">Can I cancel after the session has started?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>No, there are no refunds or credits once the session has begun.  <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">Can I transfer my registration to another session?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>5 or more business days before the start date: Transfer at no charge (the annual fee is still due).<\/p><p>Less than 5 days before start date : <\/p><ul><li>Issuance of a credit valid for 1 year<\/li><li>Minus a $75 administrative fee and a $55 annual fee.  <\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">What happens if I have a medical reason?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>With a medical certificate, a credit or refund can be granted. <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">Can a course session be cancelled?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>Yes, a course session may be cancelled due to lack of enrolment. No fee will be charged. <\/p><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                \n\t\t\t\t\t<div class=\"wpr-accordion-item-wrap\">\n\t\t\t\t\t\t<button class=\"wpr-acc-button\">\n\t\t\t\t\t\t\t<span class=\"wpr-acc-item-title\">\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-title-icon\">\n\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\n\t\t\t\t\t\t\t\t<span class=\"wpr-acc-title-text\">How do credits work?<\/span>\n\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-close\"><i aria-hidden=\"true\" class=\"fas fa-plus\"><\/i><\/span>\n\t\t\t\t<span class=\"wpr-toggle-icon wpr-ti-open\"><i aria-hidden=\"true\" class=\"fas fa-minus\"><\/i><\/span>\n\t\t\t\t\t\t\t\t\t<\/button>\n\n\t\t\t\t\t\t<div class=\"wpr-acc-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"wpr-acc-panel-content\"><p>The credits are :  <\/p><ul><li>Valid for 1 year<\/li><li>Non-transferable<\/li><li>Non-renewable<\/li><li>Not reissued in case of loss<\/li><li>Not applicable in the event of an absence during a session.<\/li><\/ul><\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n                    <\/div>\n\n                            <\/div>\n        \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Your French starts here No matter where you are In-person classes in downtown Montreal, from absolute beginner to C2 level. Two evenings a week, Saturday mornings, or four mornings to learn faster. The Alliance Fran\u00e7aise is the world&#8217;s leading network for teaching French. 6 to 9 students per class Certified FLE Teachers Teaching materials included l&#8217;alliance fran\u00e7aise de montr\u00e9al in 2026 A school, not a platform. 2,509 Enrolled students 49,096 Hours taught 50 Nationalities &#8220;My teacher, Kelly, was approachable, professional, energetic, and had a great sense of humor.&#8221; Paul Sarvis CEO &#8220;The teachers are very knowledgeable. I liked the small-group format, which lets me speak a lot, and the teacher was very kind.&#8221; Jacques LespiCEO &#8220;I loved this experience, and I&#8217;m confident I&#8217;ll pass the TCF next week. Thank you to the whole team.&#8221; Mia SilvaCEO The Best Terms to learn French in Montreal our mini-groups You speak in every class. Without exception. 6 to 9 students per class. Small enough for everyone to speak up in every class, and large enough to discuss and practice in groups. You speak in every class, without exception. Our teachers Teachers who know exactly where you stand.\u200b Certified FLE teachers, trained to teach all levels from A1 to C2. They tailor their approach to your profile\u2014not the other way around. From absolute beginners to advanced learners, everyone progresses at their own pace. Our method The French you&#8217;ll actually use. Reading, writing, listening, speaking: the four language skills covered in every French class. Not just theoretical French. French that works on the street, at work, and with your neighbors. Not sure about your level? That&#8217;s true for almost everyone. Twenty minutes and it&#8217;s sorted, and the test is refunded when you buy your first course. Online test with AI Assessment with a teacher I am a complete beginner I&#8217;m re-enrolling Immediate result Your level in 20 minutes, no appointment needed An adaptive test that places your French from A1 to C2 and recommends the exact course to enrol in. Available 24\/7 Result aligned with the CEFR Refunded when you buy your course Start the test With a certified teacher Twenty minutes online with a teacher A spoken conversation with one of our certified FLE teachers. Your level is identified against the CEFR, and your next step is clear. Spoken conversation by video call Personalised course recommendation Book an appointment No test needed You have never studied French No assessment required. Level A1.1 is designed for complete beginners, with no prerequisites at all. No prior knowledge required Groups of 6 to 9 learners Immediate registration Register for A1.1 Re-enrolment You already know where you stand Enrol directly in your next course and take advantage of your loyalty discount. Loyalty discount applied automatically Continuous learning path Limited spots per group Register now &#8220;I understood my colleagues. I didn&#8217;t respond to them. Six months later, I&#8217;m leading my meetings in French.&#8221; Antonio, Level B2\u2014arrived from Brazil in 2025 $21.00 per hour. Often less. $588 $588 per session &middot; 28 hours No discount selected A certified teacher, a group of 6 to 9 people and course materials included. Choose my session The exact amount will be shown in the cart, before you place your order. I register early Before August 21, 2026. &minus;10% I have already taken a session Loyalty discount, consecutive sessions. &minus;5% Two intensive sessions in a row Bought together, the second at &minus;25%. Cannot be combined. &minus;25% Early bird and loyalty can be combined. The intensive discount cannot be combined with any other. Indicative price, confirmed at registration. Do you have a question? How do I register for a course or workshop? Simply choose your course or workshop directly on the website. Registration is personal and cannot be transferred to another person. When does my registration become official? Your place is confirmed only when all fees have been paid. If I start a course I&#8217;ve already begun, do I pay the full price? Yes, even if the session has already begun, the full amount for the session is due. What fees do I have to pay? Course or workshop fees:The amount varies depending on the duration, level, or type of activity. Annual Registration Fee \u2013 $55:Required for the first registration of the year (class or workshop), valid for 12 months, and includes: Administrative Fees Educational Licenses Discounted rates on workshops and hands-on activities Exclusive access to cultural activities These fees are non-refundable and non-transferable. Educational materials (courses only): In-person: textbook + workbook provided free of charge Online: digital key sent on the first day (paper version available for an additional fee) Educational materials are non-refundable How can I pay? Payment is made online at the time of registration. If your employer finances the training, payment must be received 7 days before the first session. What will I receive after I register? A confirmation email, which officially confirms your spot, including: Course\/Workshop Information Dates and Times Tips for getting off to a good start. What are my responsibilities as a student? By registering, you confirm that : You are at least 18 years old The course you&#8217;ve chosen matches your level Have you checked your availability? The AFMTL is not responsible for your personal changes (schedule changes, moving, etc.) Absences do not entitle students to any refund, credit, or make-up session. Do I have to take the online placement test and\/or oral evaluation before I can register? Yes, if you already have some knowledge of French. The assessment fee is refunded upon registration for a group French class (one refund per person, whether for the online test or the interview with a teacher). Not if you&#8217;re a complete beginner. No, if you are re-registering for a session already in progress. What happens if there aren&#8217;t enough students? 4 students or more: session opens normally. 3 students: the session is reduced to 2\/3 of its duration (semi-private format). Less than 3 students: the course or workshop may be cancelled. Can the teacher change? Yes, the AFMTL<\/p>\n","protected":false},"author":15,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"class_list":["post-22977","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>French Courses for Adults in Montreal, A1 to C2<\/title>\n<meta name=\"description\" content=\"French classes for adults in Montreal in small groups of 6 to 9 people. Levels A1 to C2, certified FLE teachers, two evenings a week or intensive courses. Alliance Fran\u00e7aise de Montr\u00e9al \u2014 the world\u2019s #1 center.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"French Courses for Adults in Montreal, A1 to C2\" \/>\n<meta property=\"og:description\" content=\"French classes for adults in Montreal in small groups of 6 to 9 people. Levels A1 to C2, certified FLE teachers, two evenings a week or intensive courses. Alliance Fran\u00e7aise de Montr\u00e9al \u2014 the world\u2019s #1 center.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/\" \/>\n<meta property=\"og:site_name\" content=\"Alliance Fran\u00e7aise de Montr\u00e9al\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/people\/Alliance-Franaise-de-Montral\/100094478126533\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-04T15:22:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/\",\"url\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/\",\"name\":\"French Courses for Adults in Montreal, A1 to C2\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.afmontreal.ca\\\/wp-content\\\/plugins\\\/elementor\\\/assets\\\/images\\\/placeholder.png\",\"datePublished\":\"2026-08-02T14:14:27+00:00\",\"dateModified\":\"2026-08-04T15:22:41+00:00\",\"description\":\"French classes for adults in Montreal in small groups of 6 to 9 people. Levels A1 to C2, certified FLE teachers, two evenings a week or intensive courses. Alliance Fran\u00e7aise de Montr\u00e9al \u2014 the world\u2019s #1 center.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.afmontreal.ca\\\/wp-content\\\/plugins\\\/elementor\\\/assets\\\/images\\\/placeholder.png\",\"contentUrl\":\"https:\\\/\\\/www.afmontreal.ca\\\/wp-content\\\/plugins\\\/elementor\\\/assets\\\/images\\\/placeholder.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/cours-pour-adultes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.afmontreal.ca\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"TESTFrench Courses for Adults in Montreal \u2014 Levels A1 to C2 \u2014 Alliance Fran\u00e7aise\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/#website\",\"url\":\"https:\\\/\\\/www.afmontreal.ca\\\/\",\"name\":\"Alliance Fran\u00e7aise de Montr\u00e9al\",\"description\":\"Alliance Fran\u00e7aise de Montr\u00e9al\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.afmontreal.ca\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/#organization\",\"name\":\"Alliance Fran\u00e7aise de Montr\u00e9al\",\"url\":\"https:\\\/\\\/www.afmontreal.ca\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.afmontreal.ca\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/logo-afmtl-2026max.png\",\"contentUrl\":\"https:\\\/\\\/www.afmontreal.ca\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/logo-afmtl-2026max.png\",\"width\":1000,\"height\":400,\"caption\":\"Alliance Fran\u00e7aise de Montr\u00e9al\"},\"image\":{\"@id\":\"https:\\\/\\\/www.afmontreal.ca\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/people\\\/Alliance-Franaise-de-Montral\\\/100094478126533\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/alliance-francaise-de-montreal\\\/?viewAsMember=true\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"French Courses for Adults in Montreal, A1 to C2","description":"French classes for adults in Montreal in small groups of 6 to 9 people. Levels A1 to C2, certified FLE teachers, two evenings a week or intensive courses. Alliance Fran\u00e7aise de Montr\u00e9al \u2014 the world\u2019s #1 center.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/","og_locale":"en_US","og_type":"article","og_title":"French Courses for Adults in Montreal, A1 to C2","og_description":"French classes for adults in Montreal in small groups of 6 to 9 people. Levels A1 to C2, certified FLE teachers, two evenings a week or intensive courses. Alliance Fran\u00e7aise de Montr\u00e9al \u2014 the world\u2019s #1 center.","og_url":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/","og_site_name":"Alliance Fran\u00e7aise de Montr\u00e9al","article_publisher":"https:\/\/www.facebook.com\/people\/Alliance-Franaise-de-Montral\/100094478126533\/","article_modified_time":"2026-08-04T15:22:41+00:00","og_image":[{"url":"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/","url":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/","name":"French Courses for Adults in Montreal, A1 to C2","isPartOf":{"@id":"https:\/\/www.afmontreal.ca\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/#primaryimage"},"image":{"@id":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png","datePublished":"2026-08-02T14:14:27+00:00","dateModified":"2026-08-04T15:22:41+00:00","description":"French classes for adults in Montreal in small groups of 6 to 9 people. Levels A1 to C2, certified FLE teachers, two evenings a week or intensive courses. Alliance Fran\u00e7aise de Montr\u00e9al \u2014 the world\u2019s #1 center.","breadcrumb":{"@id":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.afmontreal.ca\/cours-pour-adultes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/#primaryimage","url":"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png","contentUrl":"https:\/\/www.afmontreal.ca\/wp-content\/plugins\/elementor\/assets\/images\/placeholder.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.afmontreal.ca\/cours-pour-adultes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.afmontreal.ca\/"},{"@type":"ListItem","position":2,"name":"TESTFrench Courses for Adults in Montreal \u2014 Levels A1 to C2 \u2014 Alliance Fran\u00e7aise"}]},{"@type":"WebSite","@id":"https:\/\/www.afmontreal.ca\/#website","url":"https:\/\/www.afmontreal.ca\/","name":"Alliance Fran\u00e7aise de Montr\u00e9al","description":"Alliance Fran\u00e7aise de Montr\u00e9al","publisher":{"@id":"https:\/\/www.afmontreal.ca\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.afmontreal.ca\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.afmontreal.ca\/#organization","name":"Alliance Fran\u00e7aise de Montr\u00e9al","url":"https:\/\/www.afmontreal.ca\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.afmontreal.ca\/#\/schema\/logo\/image\/","url":"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2020\/03\/logo-afmtl-2026max.png","contentUrl":"https:\/\/www.afmontreal.ca\/wp-content\/uploads\/2020\/03\/logo-afmtl-2026max.png","width":1000,"height":400,"caption":"Alliance Fran\u00e7aise de Montr\u00e9al"},"image":{"@id":"https:\/\/www.afmontreal.ca\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/people\/Alliance-Franaise-de-Montral\/100094478126533\/","https:\/\/www.linkedin.com\/company\/alliance-francaise-de-montreal\/?viewAsMember=true"]}]}},"_links":{"self":[{"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/pages\/22977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/comments?post=22977"}],"version-history":[{"count":58,"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/pages\/22977\/revisions"}],"predecessor-version":[{"id":23096,"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/pages\/22977\/revisions\/23096"}],"wp:attachment":[{"href":"https:\/\/www.afmontreal.ca\/en\/wp-json\/wp\/v2\/media?parent=22977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}