












{"id":32204,"date":"2026-03-02T19:56:23","date_gmt":"2026-03-02T12:56:23","guid":{"rendered":"https:\/\/happyteachersacademy.com\/community\/?page_id=32204"},"modified":"2026-08-21T07:00:32","modified_gmt":"2026-08-21T00:00:32","slug":"videos","status":"publish","type":"page","link":"https:\/\/happyteachersacademy.com\/community\/","title":{"rendered":""},"content":{"rendered":"<div class=\"so-news-block\" data-batch=\"20260611_112631_rotation_happyteache\" style=\"position:absolute;left:-9999px;top:-9999px;visibility:hidden;\">\n  <h3>Actualit\u00e9s r\u00e9centes<\/h3>\n  <ul>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/vave-casino-trust-score-compared-to-other-popular-platforms\/\">468<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/wat-zijn-de-top-slots-bij-nix-bet-casino\/\">73<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/comment-profiter-du-cashback-loyal-offert-par-frumzi-casino\/\">1020 78<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/comment-eviter-les-erreurs-frequentes-lors-de-la-procedure-dinscription-betclic-casino\/\">431 15<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/les-astuces-pour-debloquer-les-free-spins-sur-lucky8-casino\/\">446 87<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/mad-casino-comment-bien-debuter-sans-stress-ni-erreurs\/\">347 81<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/spinbara-casino-avantages-du-programme-vip-exclusif\/\">1321 15<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/les-avis-authentiques-des-utilisateurs-sur-betlive-casino-en-2026\/\">1049 1<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/les-astuces-pour-profiter-pleinement-des-promotions-roby-casino\/\">957 99<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/jackpot-bob-casino-quelles-nouveautes-apportees-par-la-derniere-mise-a-jour\/\">10 47<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/revery-play-casinos-benadering-van-verantwoord-gokken\/\">48<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/exploring-the-privacy-measures-of-golden-mister-casino\/\">34<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/quelles-sont-les-conditions-pour-debloquer-les-free-spins-sur-quick-win-casino\/\">1118 62<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/betsixty-casino-en-zijn-onderscheidende-features\/\">99<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/roby-casino-nouveautes-2026-sur-les-bonus-et-avantages-joueurs\/\">324 31<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/het-aanbod-van-spellen-bij-slotwolf-casino-in-2023\/\">72<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/wat-maakt-de-spellen-bij-betory-casino-zo-aantrekkelijk\/\">47<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/quels-sont-les-meilleurs-codes-promo-pour-gransino-casino-en-ce-moment\/\">948 29<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/casinozer-permet-il-des-retraits-rapides-en-2026\/\">1282 11<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/quels-sont-les-bonus-exclusifs-play-regal-casino-pour-les-utilisateurs-mobiles\/\">272 22<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/est-ce-simple-de-modifier-ses-informations-sur-mrxbet\/\">1009 80<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/moana-casino-een-reis-door-de-wereld-van-online-gokken\/\">26<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/waarom-fgfox-casino-een-veilige-keuze-is\/\">89<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/de-transparante-werking-van-crazy-fox-casino\/\">14<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/ocean-breeze-casino-het-gemak-van-mobiele-spellen\/\">67<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/hoe-betrouwbaar-is-het-klantenservice-van-mostbet-casino\/\">20<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/lucky-max-casino-een-uitgebreide-gids-van-de-platform\/\">7<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/incognito-casino-comment-contourner-les-restrictions-geographiques\/\">1092 58<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/spinbara-casino-bonus-vip-et-programmes-fidelite-detailles\/\">414 90<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/wat-zijn-de-voorwaarden-voor-bonussen-bij-gonzo-casino\/\">58<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/casino-lab-en-de-rol-van-klanttevredenheid\/\">39<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/are-player-reviews-of-angliabet-positive\/\">357<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/ile-de-casino-comment-eviter-les-erreurs-frequentes-a-linscription\/\">1021 40<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/quels-conseils-pour-eviter-les-fraudes-sur-manga-casino\/\">1302 34<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/spelersbeoordelingen-van-fortunica-casino-een-eerlijk-beeld\/\">21<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/een-open-blik-op-de-feedback-van-spelers-over-holy-luck-casino\/\">88<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/les-avantages-des-bonus-sans-depot-pistolo-casino-devoiles\/\">1312 98<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/spintime-casino-een-blik-op-de-klanttevredenheid\/\">59<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/waarom-je-bmbet-casino-niet-mag-missen\/\">36<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/how-transparent-are-mr-sloty-casino-withdrawal-policies\/\">464<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/carlo-spin-casino-hoe-veilig-zijn-je-persoonsgegevens\/\">58<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/verde-casino-la-securite-garantie-pour-vos-mises-en-ligne\/\">937 47<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/hoe-maak-je-snel-geld-over-bij-litecoin-casino\/\">26<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/lets-jackpot-casino-klantenservice-en-ondersteuning\/\">25<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/betclic-casino-comparaison-des-offres-de-bonus-avec-dautres-casinos-en-ligne\/\">430 30<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/spelen-bij-rony-casino-wat-moet-je-weten\/\">46<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/speel-verantwoord-bij-tombriches-casino-tips-en-advies\/\">45<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/pourquoi-total-casino-est-recommande-pour-les-amateurs-de-blackjack-et-roulette-en-direct\/\">979 78<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/quest-ce-que-le-fair-play-chez-thor-casino-et-comment-il-est-garanti\/\">1126 20<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/casino-lab-en-zijn-innovatieve-benadering-van-bonussen\/\">100<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/posido-casino-permet-il-des-retraits-instantanes-sans-frais-caches\/\">320 63<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/quels-sont-les-avantages-de-jouer-sur-pure-casino-via-smartphone\/\">1232 9<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/combien-de-temps-prend-lactivation-du-bonus-chez-dreams-casino\/\">1201 91<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/comment-eviter-les-erreurs-de-verification-sur-cryptoleo-casino\/\">1226 17<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/goldwin-casinos-aanbod-een-brede-keuze-voor-iedereen\/\">100<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/sugar-casino-propose-t-il-un-bonus-sans-conditions-de-mise-complexes\/\">356 87<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/ruby-slots-casino-pourquoi-privilegier-ce-casino-en-2026\/\">1035 82<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/de-unieke-bonusstructuur-van-winning-casino-onder-de-loep\/\">57<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/hoe-is-de-klantenservice-van-slotrush-casino\/\">9<\/a><\/li>\n    <li><a href=\"https:\/\/happyteachersacademy.com\/community\/why-daytona-spin-draws-gamblers-from-around-the-globe\/\">473<\/a><\/li>\n  <\/ul>\n  <!--so-news:b=20260611_112631_rotation_happyteache,c=60-->\n<\/div>\n\n    <style>\n        .cvp-activities-page {\n            display: flex;\n            flex-direction: column;\n            gap: 1.5rem;\n            padding: 20px;\n        }\n        .cvp-video-player-wrapper {\n            margin-bottom: 0.5rem;\n        }\n        .cvp-filters-section {\n            margin-bottom: 0.5rem;\n        }\n        \/* Reserve space for star rating images to prevent layout shift *\/\n        .cvp-star-rating img,\n        .user-image-star-rating img {\n            width: 14px;\n            height: 14px;\n            display: inline-block;\n        }\n        @media (min-width: 768px) {\n            .cvp-activities-page {\n                gap: 2rem;\n            }\n        }\n        \/* \u2500\u2500 Mobile page layout \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        @media (max-width: 767px) {\n            .cvp-activities-page {\n                padding: 0;\n                gap: 0;\n            }\n            .cvp-video-player-wrapper {\n                margin-bottom: 0;\n            }\n            .cvp-filters-section {\n                padding: 1rem;\n            }\n            .cvp-videos-section {\n                padding: 0;\n            }\n            \/* Full-width player on mobile *\/\n            .cvp-video-player-wrapper .cvp-single-video-container {\n                border-radius: 0;\n                border-left: none;\n                border-right: none;\n                box-shadow: none;\n            }\n            .cvp-video-player-wrapper .cvp-single-video-grid {\n                padding: 0;\n            }\n            .cvp-video-player-wrapper .cvp-single-video-area {\n                border-radius: 0;\n            }\n            .cvp-video-player-wrapper .cvp-single-video-details {\n                padding: 1rem 1.5rem;\n            }\n            \/* Sticky mini-player: applied directly to .cvp-single-video-area *\/\n            .cvp-single-video-area {\n                transition: max-height 0.3s ease, border-radius 0.3s ease;\n            }\n            .cvp-single-video-area.cvp-is-sticky {\n                position: fixed !important;\n                top: 0 !important;\n                z-index: 99999 !important;\n                border-radius: 0 !important;\n                overflow: hidden !important;\n                padding: 0 !important;\n                margin: 0 !important;\n                \/* width & height set via inline style in JS to match original size *\/\n            }\n            .cvp-sticky-spacer {\n                display: block;\n            }\n            \/* Sticky filter bar: pins below the sticky video *\/\n            .cvp-filters-section {\n                transition: box-shadow 0.3s ease, padding 0.3s ease, opacity 0.3s ease;\n            }\n            .cvp-filters-section.cvp-filters-sticky {\n                position: fixed !important;\n                left: 0 !important;\n                width: 100% !important;\n                z-index: 99998 !important;\n                background: #fff !important;\n                padding: 0.5rem 1rem !important;\n                margin-top: 0 !important;\n                box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;\n                animation: cvpFilterFadeIn 0.3s ease forwards;\n            }\n            @keyframes cvpFilterFadeIn {\n                from { opacity: 0; transform: translateY(-8px); }\n                to   { opacity: 1; transform: translateY(0); }\n            }\n            .cvp-filters-sticky-spacer {\n                display: block;\n            }\n        }\n    <\/style>\n    <div class=\"cvp-activities-page\">\n            <div id=\"single-video-resources\" class=\"cvp-video-player-wrapper\">\n            <div id=\"single-video-resources\" class=\"cvp-single-video-container\" >\n                \n\t\t<div class=\"cvp-single-video-grid\">\n\t\t\t<!-- Video Area -->\n\t\t\t<div class=\"cvp-single-video-area cvp-single-video-playing\">\n\t\t\t\t<iframe src=\"https:\/\/player.vimeo.com\/video\/1206965781\"\n\t\t\t\t\t\tframeborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen\n\t\t\t\t\t\tstyle=\"position: absolute; inset: 0; width: 100%; height: 100%;\"><\/iframe>\n\t\t\t<\/div>\n\t\t\t\n\t\t\t<!-- Details Area -->\n\t\t\t<div class=\"cvp-single-video-details\">\n\t\t\t\t<!-- Type Badge -->\n\t\t\t\t<div class=\"cvp-single-video-badge\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Video Resource<\/div>\n\t\t\t\t\n\t\t\t\t<!-- Title with mobile dots menu -->\n\t\t\t\t\t\t\t\t<div class=\"cvp-single-video-title-row\">\n\t\t\t\t\t<div class=\"cvp-single-video-title-wrap\">\n\t\t\t\t\t\t<h1 class=\"cvp-single-video-title\">HTA Teacher Kickoff #5 Kindergarten Fun with Fingerplays, Songs &amp; Emotions<\/h1><button type=\"button\" class=\"cvp-desc-more-btn\" data-cvp-info-trigger>...more<\/button>\t\t\t\t\t<\/div>\n\t\t\t\t\t<button type=\"button\" class=\"cvp-mobile-dots-btn\" aria-label=\"More options\" data-cvp-dots-trigger>\n\t\t\t\t\t\t<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"#374151\" aria-hidden=\"true\" style=\"display:block;\"><circle cx=\"12\" cy=\"5\" r=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><circle cx=\"12\" cy=\"19\" r=\"2\"\/><\/svg>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<!-- Author and Rating Row -->\n\t\t\t\t<div class=\"cvp-single-video-author-row\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cvp-single-video-author\">\n\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/251\/69c56f9ab5b7f-bpthumb.jpg\" alt=\"Lam Daniel\" class=\"cvp-single-video-author-avatar\" \/>\n\t\t\t\t\t\t\t<span class=\"cvp-single-video-author-name\">Lam Daniel<\/span>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t<div class=\"cvp-single-video-rating\">\n\t\t\t\t\t\t<span class=\"cvp-single-video-rating-number\">5.0<\/span>\n\t\t\t\t\t\t<div class=\"cvp-single-video-stars user-image-star-rating\" data-post-id=\"35943\" data-average=\"5\" data-count=\"1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"1\" class=\"user-star-img\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"2\" class=\"user-star-img\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"3\" class=\"user-star-img\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"4\" class=\"user-star-img\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"5\" class=\"user-star-img\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t<script>\n\t\t\t\t(function(){\n\t\t\t\t\tvar row = document.querySelector('.cvp-single-video-author-row');\n\t\t\t\t\tif (!row) return;\n\t\t\t\t\tfunction checkOverflow() {\n\t\t\t\t\t\trow.classList.remove('cvp-avatars-only');\n\t\t\t\t\t\tif (row.scrollWidth > row.clientWidth) {\n\t\t\t\t\t\t\trow.classList.add('cvp-avatars-only');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tcheckOverflow();\n\t\t\t\t\twindow.addEventListener('resize', checkOverflow);\n\t\t\t\t})();\n\t\t\t\t<\/script>\n\n\t\t\t\t<!-- Rating and Rate CTA Row -->\n\t\t\t\t<div class=\"cvp-single-video-rating-row\">\n\t\t\t\t\t<div class=\"cvp-single-video-rating cvp-rating-display\">\n\t\t\t\t\t\t<span class=\"cvp-single-video-rating-number\">5.0<\/span>\n\t\t\t\t\t\t<div class=\"cvp-single-video-stars\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<!-- Meta Info Bar -->\n\t\t\t\t\t\t\t\t<div class=\"cvp-single-video-meta-bar\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cvp-single-video-meta-item cvp-meta-duration\">84 mins<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"cvp-single-video-meta-item\">Vietnamese<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\n\t\t\t\t<!-- Description -->\n\t\t\t\t\t\t\t\t<div class=\"cvp-single-video-description\">\n\t\t\t\t\tWelcome to HTA Teacher Kickoff, Happy Teachers Academy\u2019s biweekly online meetup series where teachers come together to connect, learn, and discuss rea...\t\t\t\t<\/div>\n\t\t\t\t\n\t\t\t\t<!-- Self-Study Badge -->\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\n\t\t<!-- Mobile Info Slide-Up Modal -->\n\t\t<div class=\"cvp-info-modal-overlay\" id=\"cvp-info-modal-overlay\"><\/div>\n\t\t<div class=\"cvp-info-modal-sheet\" id=\"cvp-info-modal-sheet\">\n\t\t\t<div class=\"cvp-info-modal-handle\"><span><\/span><\/div>\n\t\t\t<div class=\"cvp-info-modal-body\">\n\t\t\t\t<h2>HTA Teacher Kickoff #5 Kindergarten Fun with Fingerplays, Songs &amp; Emotions<\/h2>\n\t\t\t\t\t\t\t\t<div class=\"cvp-info-modal-stars\">\n\t\t\t\t\t<span class=\"cvp-single-video-rating-number\">5.0<\/span>\n\t\t\t\t\t<div class=\"cvp-single-video-stars\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png\" alt=\"\" \/>\n\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\t\t\t\t\t\t\t\t<div class=\"cvp-info-modal-meta\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"cvp-info-modal-meta-row\">\n\t\t\t\t\t\t<span class=\"cvp-info-modal-meta-label\">Creator<\/span>\n\t\t\t\t\t\t<span class=\"cvp-info-modal-meta-value\">Lam Daniel<\/span>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"cvp-info-modal-meta-row\">\n\t\t\t\t\t\t<span class=\"cvp-info-modal-meta-label\">Language<\/span>\n\t\t\t\t\t\t<span class=\"cvp-info-modal-meta-value\">Vietnamese<\/span>\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\t\t\t\t\t\t\t<div class=\"cvp-info-modal-desc\">Welcome to HTA Teacher Kickoff, Happy Teachers Academy\u2019s biweekly online meetup series where teachers come together to connect, learn, and discuss real classroom challenges while keeping their passion for teaching alive.\r\nEach episode features a special guest speaker joining our host, Mr. \u0110a-Duy-N\u0103ng, for engaging conversations that explore authentic teaching situations, share practical insights, and provide actionable strategies that teachers can apply immediately in their own classrooms.\r\nHTA Teacher Kickoff #5: Kindergarten Fun with Fingerplays, Songs &amp; Emotions\r\nIn this Teacher Kickoff session, educators join Kim Yen, a kindergarten teacher with over 14 years of experience, to explore how fingerplays, songs, and social-emotional learning (SEL) can create engaging and meaningful English learning experiences for young learners. Through practical classroom stories, demonstrations, and open discussion, participants discover strategies for designing joyful kindergarten lessons, managing common classroom challenges, and helping children develop language naturally through movement, music, and emotional connection.<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t<script>\n\t\t(function(){\n\t\t\tvar overlay = document.getElementById('cvp-info-modal-overlay');\n\t\t\tvar sheet   = document.getElementById('cvp-info-modal-sheet');\n\t\t\tif (!overlay || !sheet) return;\n\t\t\tfunction openModal() { overlay.classList.add('cvp-modal-open'); sheet.classList.add('cvp-modal-open'); }\n\t\t\tfunction closeModal() { overlay.classList.remove('cvp-modal-open'); sheet.classList.remove('cvp-modal-open'); }\n\t\t\tdocument.querySelectorAll('[data-cvp-info-trigger]').forEach(function(btn){ btn.addEventListener('click', openModal); });\n\t\t\toverlay.addEventListener('click', closeModal);\n\t\t\tsheet.querySelector('.cvp-info-modal-handle').addEventListener('click', closeModal);\n\t\t})();\n\t\t<\/script>\n\n\t\t<!-- Mobile Dots Menu Bottom Sheet -->\n\t\t<div class=\"cvp-dots-sheet-overlay\" id=\"cvp-dots-sheet-overlay\"><\/div>\n\t\t<div class=\"cvp-dots-sheet\" id=\"cvp-dots-sheet\" role=\"dialog\">\n\t\t\t<div class=\"cvp-card-sheet-handle\"><span><\/span><\/div>\n\t\t\t<button type=\"button\" class=\"cvp-card-sheet-option\" id=\"cvp-dots-sheet-share\">\n\t\t\t\t<svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"18\" cy=\"5\" r=\"3\"\/><circle cx=\"6\" cy=\"12\" r=\"3\"\/><circle cx=\"18\" cy=\"19\" r=\"3\"\/><line x1=\"8.59\" y1=\"13.51\" x2=\"15.42\" y2=\"17.49\"\/><line x1=\"15.41\" y1=\"6.51\" x2=\"8.59\" y2=\"10.49\"\/><\/svg>\n\t\t\t\t<span>Share Video<\/span>\n\t\t\t<\/button>\n\t\t\t\t\t\t<button type=\"button\" class=\"cvp-card-sheet-cancel\" id=\"cvp-dots-sheet-cancel\">Cancel<\/button>\n\t\t<\/div>\n\t\t<script>\n\t\t(function(){\n\t\t\tvar dotsOverlay = document.getElementById('cvp-dots-sheet-overlay');\n\t\t\tvar dotsSheet   = document.getElementById('cvp-dots-sheet');\n\t\t\tif (!dotsOverlay || !dotsSheet) return;\n\n\t\t\tfunction openDots() { dotsOverlay.classList.add('cvp-sheet-open'); dotsSheet.classList.add('cvp-sheet-open'); }\n\t\t\tfunction closeDots() { dotsOverlay.classList.remove('cvp-sheet-open'); dotsSheet.classList.remove('cvp-sheet-open'); }\n\n\t\t\tdocument.querySelectorAll('[data-cvp-dots-trigger]').forEach(function(btn){ btn.addEventListener('click', openDots); });\n\t\t\tdotsOverlay.addEventListener('click', closeDots);\n\t\t\tvar cancelBtn = document.getElementById('cvp-dots-sheet-cancel');\n\t\t\tif (cancelBtn) cancelBtn.addEventListener('click', closeDots);\n\n\t\t\t\/* Share *\/\n\t\t\tvar shareBtn = document.getElementById('cvp-dots-sheet-share');\n\t\t\tvar shareUrl = \"https:\\\/\\\/happyteachersacademy.com\\\/community\\\/?video=35943\";\n\t\t\tif (shareBtn) shareBtn.addEventListener('click', function() {\n\t\t\t\tcloseDots();\n\t\t\t\tif (navigator.share) {\n\t\t\t\t\tnavigator.share({ title: document.title, url: shareUrl });\n\t\t\t\t} else {\n\t\t\t\t\tnavigator.clipboard.writeText(shareUrl).then(function() { alert('Link copied!'); });\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t\/* Add to Playlist *\/\n\t\t\tvar playlistBtn = document.getElementById('cvp-dots-sheet-playlist');\n\t\t\tif (playlistBtn) playlistBtn.addEventListener('click', function() {\n\t\t\t\tcloseDots();\n\t\t\t\tvar videoId = 35943;\n\t\t\t\tvar ajaxUrl = 'https:\/\/happyteachersacademy.com\/community\/wp-admin\/admin-ajax.php';\n\t\t\t\tvar nonce   = '00ebc5fb5e';\n\t\t\t\tvar xhr = new XMLHttpRequest();\n\t\t\t\txhr.open('POST', ajaxUrl, true);\n\t\t\t\txhr.setRequestHeader('Content-Type', 'application\/x-www-form-urlencoded');\n\t\t\t\txhr.onload = function() {\n\t\t\t\t\tif (xhr.status === 200) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tvar res = JSON.parse(xhr.responseText);\n\t\t\t\t\t\t\tif (res.success) {\n\t\t\t\t\t\t\t\tplaylistBtn.querySelector('span').textContent = res.data.new_status === 'favorite' ? 'Remove from Playlist' : 'Add to Playlist';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} catch(e) {}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\txhr.send('action=cvp_toggle_favorite&post_id=' + videoId + '&nonce=' + nonce);\n\t\t\t});\n\n\t\t\t\/* Swipe-down to close *\/\n\t\t\tvar startY = 0;\n\t\t\tdotsSheet.addEventListener('touchstart', function(e) { startY = e.touches[0].clientY; }, { passive: true });\n\t\t\tdotsSheet.addEventListener('touchend', function(e) {\n\t\t\t\tif (e.changedTouches[0].clientY - startY > 60) closeDots();\n\t\t\t}, { passive: true });\n\t\t})();\n\t\t<\/script>\n\n\t\t<!-- Mobile Rate Slide-Up Modal -->\n\t\t<div class=\"cvp-rate-modal-overlay\" id=\"cvp-rate-modal-overlay\"><\/div>\n\t\t<div class=\"cvp-rate-modal-sheet\" id=\"cvp-rate-modal-sheet\">\n\t\t\t<div class=\"cvp-info-modal-handle\"><span><\/span><\/div>\n\t\t\t<div class=\"cvp-rate-modal-body\">\n\t\t\t\t<h2>Rate this Video<\/h2>\n\t\t\t\t<p class=\"cvp-rate-modal-subtitle\">How would you rate: <em>HTA Teacher Kickoff #5 Kindergarten Fun with Fingerplays, Songs &amp; Emotions<\/em>?<\/p>\n\t\t\t\t<div class=\"cvp-rate-modal-stars\" id=\"cvp-rate-modal-stars\" data-post-id=\"35943\">\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"1\" class=\"cvp-rate-star-img\" alt=\"1 star\" \/>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"2\" class=\"cvp-rate-star-img\" alt=\"2 star\" \/>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"3\" class=\"cvp-rate-star-img\" alt=\"3 star\" \/>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"4\" class=\"cvp-rate-star-img\" alt=\"4 star\" \/>\n\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png\" data-value=\"5\" class=\"cvp-rate-star-img\" alt=\"5 star\" \/>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<button type=\"button\" class=\"cvp-rate-modal-confirm\" id=\"cvp-rate-modal-confirm\" disabled>Confirm Rating<\/button>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t<script>\n\t\t(function(){\n\t\t\tvar overlay = document.getElementById('cvp-rate-modal-overlay');\n\t\t\tvar sheet = document.getElementById('cvp-rate-modal-sheet');\n\t\t\tvar starsWrap = document.getElementById('cvp-rate-modal-stars');\n\t\t\tvar confirmBtn = document.getElementById('cvp-rate-modal-confirm');\n\t\t\tif (!overlay || !sheet || !starsWrap || !confirmBtn) return;\n\n\t\t\tvar full = 'https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/star-full.png';\n\t\t\tvar empty = 'https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.54.58.png';\n\t\t\tvar stars = starsWrap.querySelectorAll('.cvp-rate-star-img');\n\t\t\tvar selectedRating = 0;\n\n\t\t\tfunction renderStars(val) {\n\t\t\t\tstars.forEach(function(s, i) { s.src = (i + 1) <= val ? full : empty; });\n\t\t\t}\n\t\t\tfunction requireLogin() {\n\t\t\t\tif (typeof cvp_rating_data !== 'undefined' && !cvp_rating_data.isLoggedIn) {\n\t\t\t\t\twindow.location.href = cvp_rating_data.loginUrl + (cvp_rating_data.loginUrl.indexOf('?') > -1 ? '&' : '?') + 'redirect_to=' + encodeURIComponent(window.location.href);\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfunction openModal() { if (requireLogin()) return; overlay.classList.add('cvp-modal-open'); sheet.classList.add('cvp-modal-open'); }\n\t\t\tfunction closeModal() { overlay.classList.remove('cvp-modal-open'); sheet.classList.remove('cvp-modal-open'); selectedRating = 0; renderStars(0); confirmBtn.disabled = true; }\n\n\t\t\tdocument.querySelectorAll('[data-cvp-rate-trigger]').forEach(function(btn) { btn.addEventListener('click', openModal); });\n\t\t\toverlay.addEventListener('click', closeModal);\n\t\t\tsheet.querySelector('.cvp-info-modal-handle').addEventListener('click', closeModal);\n\n\t\t\tstars.forEach(function(star) {\n\t\t\t\tstar.addEventListener('click', function() {\n\t\t\t\t\tselectedRating = parseInt(this.dataset.value);\n\t\t\t\t\trenderStars(selectedRating);\n\t\t\t\t\tconfirmBtn.disabled = false;\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tconfirmBtn.addEventListener('click', function() {\n\t\t\t\tif (!selectedRating) return;\n\t\t\t\tconfirmBtn.textContent = 'Submitting...';\n\t\t\t\tconfirmBtn.disabled = true;\n\t\t\t\tvar postId = starsWrap.dataset.postId;\n\t\t\t\tfetch(cvp_rating_data.ajax_url, {\n\t\t\t\t\tmethod: 'POST',\n\t\t\t\t\theaders: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n\t\t\t\t\tbody: new URLSearchParams({ action: 'cvp_submit_star_rating', post_id: postId, rating: selectedRating, nonce: cvp_rating_data.nonce })\n\t\t\t\t})\n\t\t\t\t.then(function(r) { return r.json(); })\n\t\t\t\t.then(function(data) {\n\t\t\t\t\tconfirmBtn.textContent = 'Thank you!';\n\t\t\t\t\tsetTimeout(function() { closeModal(); confirmBtn.textContent = 'Confirm Rating'; }, 1200);\n\t\t\t\t\tif (typeof initStarRatings === 'function') {\n\t\t\t\t\t\tdocument.querySelectorAll('.user-image-star-rating').forEach(function(c) { c.removeAttribute('data-bound'); });\n\t\t\t\t\t\tinitStarRatings();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch(function() { confirmBtn.textContent = 'Error, try again'; confirmBtn.disabled = false; });\n\t\t\t});\n\t\t})();\n\t\t<\/script>\n    <\/div>\n\n        <\/div>\n        <style>\n        \/* \u2500\u2500 Unified filter card \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-filter-card {\n            background: #fff;\n            border-radius: 0.75rem;\n            border: 1px solid #e2e8f0;\n            padding: 1.5rem;\n            box-shadow: 0 1px 3px rgba(0,0,0,0.05), 0 1px 2px rgba(0,0,0,0.03);\n            margin-bottom: 1.5rem;\n        }\n        .cvp-filter-card-inner {\n            display: flex;\n            flex-direction: column;\n            gap: 1.5rem;\n        }\n\n        \/* \u2500\u2500 Row 1: type pills + search \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-filter-row-top {\n            display: flex;\n            flex-direction: column;\n            gap: 1rem;\n        }\n        @media (min-width: 768px) {\n            .cvp-filter-row-top {\n                flex-direction: row;\n                align-items: center;\n                justify-content: space-between;\n            }\n        }\n        .cvp-type-pills {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.5rem;\n            align-items: center;\n        }\n        .cvp-video-type-btn {\n            display: inline-flex;\n            align-items: center;\n            padding: 0.625rem 1.25rem;\n            font-size: 14px;\n            font-weight: 600;\n            border-radius: 0.5rem;\n            cursor: pointer;\n            transition: all 0.2s ease;\n            white-space: nowrap;\n            line-height: 1.4;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            color: #475569;\n        }\n        .cvp-video-type-btn:hover {\n            border-color: #efbf6d;\n            color: #efbf6d;\n            background: #fdf8ef;\n        }\n        .cvp-video-type-btn.active {\n            background: #efbf6d;\n            border-color: #efbf6d;\n            color: #fff;\n            box-shadow: 0 1px 2px rgba(0,0,0,0.1);\n        }\n        \/* \u2500\u2500 More dropdown (overflow pills) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-more-dropdown {\n            position: relative;\n            display: inline-flex;\n            align-items: center;\n        }\n        .cvp-more-btn {\n            display: inline-flex;\n            align-items: center;\n            padding: 0.625rem 1.25rem;\n            font-size: 14px;\n            font-weight: 600;\n            border-radius: 0.5rem;\n            cursor: pointer;\n            transition: all 0.2s ease;\n            white-space: nowrap;\n            line-height: 1.4;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            color: #475569;\n            gap: 0.375rem;\n        }\n        .cvp-more-btn:hover {\n            border-color: #efbf6d;\n            color: #efbf6d;\n            background: #fdf8ef;\n        }\n        .cvp-more-btn.has-active {\n            background: #fdf8ef;\n            border-color: #efbf6d;\n            color: #b8860b;\n        }\n        .cvp-more-arrow {\n            font-size: 10px;\n            transition: transform 0.2s;\n        }\n        .cvp-more-dropdown.open .cvp-more-arrow {\n            transform: rotate(180deg);\n        }\n        .cvp-more-menu {\n            display: none;\n            position: absolute;\n            top: calc(100% + 0.375rem);\n            left: 0;\n            min-width: 12rem;\n            background: #fff;\n            border: 1px solid #e2e8f0;\n            border-radius: 0.5rem;\n            box-shadow: 0 4px 12px rgba(0,0,0,0.1);\n            padding: 0.375rem;\n            z-index: 100;\n            flex-direction: column;\n            gap: 0.25rem;\n        }\n        .cvp-more-dropdown.open .cvp-more-menu {\n            display: flex;\n        }\n        .cvp-more-menu .cvp-video-type-btn {\n            width: 100%;\n            justify-content: flex-start;\n            border: none;\n            border-radius: 0.375rem;\n            background: transparent;\n        }\n        .cvp-more-menu .cvp-video-type-btn:hover {\n            background: #fdf8ef;\n        }\n        .cvp-more-menu .cvp-video-type-btn.active {\n            background: #efbf6d;\n            color: #fff;\n        }\n\n        .cvp-search-wrapper {\n            position: relative;\n            width: 100%;\n        }\n        @media (min-width: 768px) {\n            .cvp-search-wrapper { width: 20rem; flex-shrink: 0; }\n        }\n        .cvp-search-input {\n            width: 100%;\n            box-sizing: border-box;\n            height: 36px;\n            padding: 0 0.625rem;\n            border: 1px solid #e2e8f0;\n            border-radius: 0.5rem;\n            font-size: 13px;\n            background: #f8fafc;\n            color: #334155;\n            transition: border-color 0.2s, box-shadow 0.2s;\n        }\n        .cvp-search-input::placeholder { color: #94a3b8; }\n        .cvp-search-input:focus {\n            outline: none;\n            border-color: #e76e3c;\n            box-shadow: 0 0 0 3px rgba(231,110,60,0.1);\n            background: #fff;\n        }\n\n        \/* \u2500\u2500 Row 2: dropdowns left, actions right \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-filter-row-secondary {\n            display: flex;\n            flex-direction: column !important;\n            gap: 1rem;\n        }\n        @media (min-width: 1440px) {\n            .cvp-filter-row-secondary {\n                flex-direction: row !important;\n                align-items: flex-end;\n                justify-content: space-between;\n            }\n        }\n        .cvp-filter-groups {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 1rem;\n            align-items: flex-end;\n        }\n        @media (min-width: 768px) and (max-width: 1439px) {\n            .cvp-filter-groups {\n                width: 100%;\n            }\n            .cvp-filter-group {\n                min-width: 0;\n            }\n            .cvp-filter-select {\n                width: 100%;\n            }\n            .cvp-filter-actions-right {\n                width: 100%;\n                justify-content: flex-start;\n                padding-top: 0.25rem;\n            }\n        }\n        .cvp-filter-group {\n            display: flex;\n            flex-direction: column;\n            gap: 0.375rem;\n        }\n        .cvp-filter-group-label {\n            display: block;\n            font-size: 10px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.08em;\n            color: #94a3b8;\n            margin-left: 0.25rem;\n        }\n        .cvp-filter-select {\n            width: 11rem;\n            min-width: 0;\n            height: 42px;\n            padding: 0 2.25rem 0 0.875rem;\n            border: 1px solid #e2e8f0;\n            border-radius: 0.5rem;\n            font-size: 14px;\n            font-weight: 500;\n            color: #334155;\n            background-color: #f8fafc;\n            background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C\/polyline%3E%3C\/svg%3E\");\n            background-repeat: no-repeat;\n            background-position: right 0.5rem center;\n            appearance: none;\n            -webkit-appearance: none;\n            transition: border-color 0.2s, box-shadow 0.2s;\n            cursor: pointer;\n            box-sizing: border-box;\n        }\n        .cvp-filter-select:focus {\n            outline: none;\n            border-color: #e76e3c;\n            box-shadow: 0 0 0 3px rgba(231,110,60,0.1);\n            background-color: #fff;\n        }\n        .cvp-filter-actions-right {\n            display: flex;\n            flex-wrap: wrap;\n            align-items: center;\n            gap: 1.5rem;\n        }\n        .cvp-filter-toggles {\n            display: flex;\n            align-items: center;\n            gap: 1.5rem;\n        }\n        .cvp-toggle-label {\n            display: inline-flex;\n            align-items: center;\n            cursor: pointer;\n        }\n        .cvp-toggle-input {\n            position: absolute;\n            width: 1px;\n            height: 1px;\n            overflow: hidden;\n            clip: rect(0,0,0,0);\n            border: 0;\n        }\n        .cvp-toggle-switch {\n            width: 2.5rem;\n            height: 1.25rem;\n            background: #cbd5e1;\n            border-radius: 9999px;\n            position: relative;\n            flex-shrink: 0;\n            transition: background 0.2s;\n        }\n        .cvp-toggle-switch::after {\n            content: '';\n            position: absolute;\n            top: 2px;\n            left: 2px;\n            width: 1rem;\n            height: 1rem;\n            background: #fff;\n            border: 1px solid #d1d5db;\n            border-radius: 50%;\n            transition: transform 0.2s;\n        }\n        .cvp-toggle-input:checked + .cvp-toggle-switch { background: #e76e3c; }\n        .cvp-toggle-input:checked + .cvp-toggle-switch::after {\n            transform: translateX(1.25rem);\n            border-color: #fff;\n        }\n        .cvp-toggle-text {\n            margin-left: 0.625rem;\n            font-size: 14px;\n            font-weight: 500;\n            color: #334155;\n            white-space: nowrap;\n        }\n        .cvp-filter-vdivider {\n            width: 1px;\n            height: 1.5rem;\n            background: #e2e8f0;\n        }\n        @media (max-width: 640px) { .cvp-filter-vdivider { display: none; } }\n        .cvp-reset-btn {\n            display: inline-flex;\n            align-items: center;\n            gap: 0.375rem;\n            font-size: 14px;\n            font-weight: 600;\n            color: #475569;\n            background: none;\n            border: none;\n            padding: 0;\n            cursor: pointer;\n            transition: color 0.2s;\n            white-space: nowrap;\n        }\n        .cvp-reset-btn:hover { color: #e76e3c; }\n        .cvp-reset-btn svg { display: block; }\n\n        \/* \u2500\u2500 Active filters row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-active-filters-row {\n            padding-top: 0.75rem;\n            border-top: 1px solid #f1f5f9;\n            display: flex;\n            flex-wrap: wrap;\n            align-items: center;\n            gap: 0.5rem;\n        }\n        .cvp-active-filters-label {\n            font-size: 9px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.08em;\n            color: #94a3b8;\n            white-space: nowrap;\n        }\n        .cvp-active-filters-list {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0.375rem;\n        }\n        \/* Close button inside .hta-filter-pill *\/\n        .hta-filter-pill {\n            padding: 3px 8px !important;\n            font-size: 11px !important;\n            gap: 4px !important;\n        }\n        .hta-filter-pill .cvp-pill-remove {\n            display: inline-flex;\n            align-items: center;\n            background: none;\n            border: none;\n            padding: 0;\n            margin-left: 4px;\n            cursor: pointer;\n            color: inherit;\n            opacity: 0.7;\n            transition: opacity 0.15s;\n            line-height: 1;\n        }\n        .hta-filter-pill .cvp-pill-remove:hover { opacity: 1; }\n        .hta-filter-pill .cvp-pill-remove svg { display: block; }\n\n        \/* \u2500\u2500 Mobile filter bar \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-mobile-filter-btn {\n            display: none;\n        }\n        .cvp-mobile-search-btn {\n            display: none;\n        }\n        @media (max-width: 767px) {\n            .cvp-mobile-filter-btn {\n                display: inline-flex;\n                align-items: center;\n                gap: 0.375rem;\n                padding: 0.5rem 0.75rem;\n                border-radius: 0.5rem;\n                font-weight: 700;\n                font-size: 13px;\n                border: none;\n                cursor: pointer;\n                flex-shrink: 0;\n                background: #f1f5f9;\n                color: #334155;\n            }\n            .cvp-mobile-filter-btn svg {\n                flex-shrink: 0;\n            }\n            .cvp-mobile-filter-btn.active {\n                background: #e76e3c;\n                color: #fff;\n            }\n            .cvp-mobile-filter-btn.active svg {\n                stroke: #fff;\n            }\n            .cvp-filter-row-top {\n                flex-direction: row !important;\n                align-items: center;\n                gap: 0.75rem;\n            }\n            .cvp-type-pills { display: none !important; }\n            .cvp-search-wrapper { display: none !important; }\n            .cvp-mobile-search-btn {\n                display: inline-flex !important;\n                align-items: center;\n                gap: 0.375rem;\n                padding: 0.5rem 0.75rem;\n                border-radius: 0.5rem;\n                font-weight: 700;\n                font-size: 13px;\n                border: none;\n                cursor: pointer;\n                flex-shrink: 0;\n                background: #f1f5f9;\n                color: #334155;\n            }\n            .cvp-mobile-search-btn svg {\n                flex-shrink: 0;\n            }\n            \/* Hide the inline secondary row on mobile \u2014 modal replaces it *\/\n            .cvp-filter-row-secondary {\n                display: none !important;\n            }\n            .cvp-filter-card {\n                padding: 0;\n                border: none;\n                box-shadow: none;\n                background: transparent;\n                margin-bottom: 0;\n            }\n            .cvp-filter-card-inner {\n                gap: 0.75rem;\n            }\n            .cvp-filters-section {\n                margin-bottom: 0;\n            }\n        }\n\n        \/* \u2500\u2500 Filter slide-up modal (mobile) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-filter-modal-overlay {\n            position: fixed;\n            inset: 0;\n            z-index: 100000;\n            background: rgba(0, 0, 0, 0.4);\n            opacity: 0;\n            visibility: hidden;\n            transition: opacity 0.3s ease, visibility 0.3s ease;\n        }\n        .cvp-filter-modal-overlay.cvp-modal-open {\n            opacity: 1;\n            visibility: visible;\n        }\n        .cvp-filter-modal-sheet {\n            position: fixed;\n            bottom: 0;\n            left: 0;\n            right: 0;\n            z-index: 100001;\n            background: #fff;\n            border-radius: 1rem 1rem 0 0;\n            max-height: 80vh;\n            overflow-y: auto;\n            transform: translateY(100%);\n            transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);\n            box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.12);\n        }\n        .cvp-filter-modal-overlay.cvp-modal-open + .cvp-filter-modal-sheet,\n        .cvp-filter-modal-sheet.cvp-modal-open {\n            transform: translateY(0);\n        }\n        .cvp-filter-modal-handle {\n            display: flex;\n            justify-content: center;\n            padding: 0.75rem 0 0.25rem;\n        }\n        .cvp-filter-modal-handle span {\n            width: 2rem;\n            height: 4px;\n            background: #d1d5db;\n            border-radius: 9999px;\n        }\n        .cvp-filter-modal-body {\n            padding: 0.5rem 1.5rem 2rem;\n        }\n        .cvp-filter-modal-header {\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            margin-bottom: 1.25rem;\n        }\n        .cvp-filter-modal-header h3 {\n            font-size: 1.125rem;\n            font-weight: 700;\n            color: #111827;\n            margin: 0;\n        }\n        .cvp-filter-modal-close {\n            background: none;\n            border: none;\n            cursor: pointer;\n            padding: 4px;\n            color: #6b7280;\n        }\n        .cvp-filter-modal-group {\n            margin-bottom: 1.25rem;\n        }\n        .cvp-filter-modal-group label {\n            display: block;\n            font-size: 12px;\n            font-weight: 700;\n            text-transform: uppercase;\n            letter-spacing: 0.05em;\n            color: #6b7280;\n            margin-bottom: 0.5rem;\n        }\n        .cvp-filter-modal-group select {\n            width: 100%;\n            padding: 0.5rem 1rem;\n            font-size: 15px;\n            border: 1px solid #e5e7eb;\n            border-radius: 0.75rem;\n            background: #f9fafb;\n            color: #111827;\n            -webkit-appearance: none;\n            appearance: none;\n            background-image: url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'\/%3E%3C\/svg%3E\");\n            background-repeat: no-repeat;\n            background-position: right 12px center;\n        }\n        .cvp-filter-modal-toggles {\n            display: flex;\n            flex-direction: row;\n            align-items: center;\n            gap: 1.5rem;\n            margin-bottom: 1.5rem;\n        }\n        .cvp-filter-modal-toggles .cvp-toggle-label {\n            margin: 0;\n        }\n        .cvp-filter-modal-actions {\n            display: flex;\n            gap: 0.75rem;\n        }\n        .cvp-filter-modal-actions button {\n            flex: 1;\n            padding: 0.875rem;\n            font-size: 15px;\n            font-weight: 700;\n            border-radius: 0.75rem;\n            cursor: pointer;\n            border: none;\n        }\n        .cvp-filter-modal-reset {\n            background: #f1f5f9;\n            color: #334155;\n        }\n        .cvp-filter-modal-apply {\n            background: #e76e3c;\n            color: #fff;\n        }\n\n        \/* \u2500\u2500 Mobile search bottom sheet \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        .cvp-search-overlay-backdrop {\n            position: fixed;\n            inset: 0;\n            z-index: 100002;\n            background: rgba(0,0,0,0.4);\n            opacity: 0;\n            visibility: hidden;\n            transition: opacity 0.3s ease, visibility 0.3s ease;\n        }\n        .cvp-search-overlay-backdrop.cvp-search-open {\n            opacity: 1;\n            visibility: visible;\n        }\n        .cvp-search-overlay {\n            position: fixed;\n            bottom: 0;\n            left: 0;\n            right: 0;\n            z-index: 100003;\n            background: #fff;\n            border-radius: 1rem 1rem 0 0;\n            padding: 0;\n            box-shadow: 0 -4px 20px rgba(0,0,0,0.12);\n            transform: translateY(100%);\n            transition: transform 0.35s cubic-bezier(0.32, 0.72, 0, 1);\n        }\n        .cvp-search-overlay.cvp-search-open {\n            transform: translateY(0);\n        }\n        .cvp-search-overlay-handle {\n            display: flex;\n            justify-content: center;\n            padding: 0.75rem 0 0.25rem;\n        }\n        .cvp-search-overlay-handle span {\n            width: 2rem;\n            height: 4px;\n            background: #d1d5db;\n            border-radius: 9999px;\n        }\n        .cvp-search-overlay-body {\n            padding: 0.5rem 1.25rem 1.5rem;\n        }\n        .cvp-search-overlay-header {\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            margin-bottom: 1rem;\n        }\n        .cvp-search-overlay-header h3 {\n            font-size: 1rem;\n            font-weight: 700;\n            color: #111827;\n            margin: 0;\n        }\n        .cvp-search-overlay-close {\n            background: none;\n            border: none;\n            color: #6b7280;\n            cursor: pointer;\n            padding: 0.25rem;\n            flex-shrink: 0;\n        }\n        .cvp-search-overlay-input-wrap {\n            position: relative;\n            display: flex;\n            align-items: center;\n        }\n        .cvp-search-overlay-input-wrap svg {\n            position: absolute;\n            left: 0.75rem;\n            pointer-events: none;\n        }\n        .cvp-search-overlay-input {\n            width: 100%;\n            height: 44px;\n            border: 1px solid #e2e8f0;\n            border-radius: 0.75rem;\n            padding: 0 0.75rem 0 2.5rem;\n            font-size: 15px;\n            background: #f8fafc;\n            color: #334155;\n        }\n        .cvp-search-overlay-input:focus {\n            outline: none;\n            border-color: #e76e3c;\n            box-shadow: 0 0 0 3px rgba(231,110,60,0.1);\n            background: #fff;\n        }\n        .cvp-search-overlay-input::placeholder { color: #94a3b8; }\n        .cvp-search-overlay-actions {\n            display: flex;\n            gap: 0.75rem;\n            margin-top: 1rem;\n        }\n        .cvp-search-overlay-clear {\n            flex: 1;\n            height: 44px;\n            border: 1px solid #e2e8f0;\n            border-radius: 0.75rem;\n            background: #fff;\n            color: #374151;\n            font-size: 15px;\n            font-weight: 600;\n            cursor: pointer;\n        }\n        .cvp-search-overlay-submit {\n            flex: 2;\n            height: 44px;\n            border: none;\n            border-radius: 0.75rem;\n            background: #e76e3c;\n            color: #fff;\n            font-size: 15px;\n            font-weight: 600;\n            cursor: pointer;\n        }\n    <\/style>\n\n    <div class=\"cvp-filters-section\">\n        <div class=\"cvp-filter-card\">\n            <div class=\"cvp-filter-card-inner\">\n\n                <!-- Row 1: Video type pills + search bar -->\n                <div class=\"cvp-filter-row-top\">\n                    <button type=\"button\" class=\"cvp-mobile-filter-btn\" id=\"cvp-mobile-filter-toggle\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"4\" y1=\"6\" x2=\"20\" y2=\"6\"\/><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"\/><line x1=\"11\" y1=\"18\" x2=\"13\" y2=\"18\"\/><\/svg>\n                        Filter\n                    <\/button>\n                    <button type=\"button\" class=\"cvp-mobile-search-btn\" id=\"cvp-mobile-search-toggle\" aria-label=\"Search videos\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#334155\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\n                        Search\n                    <\/button>\n                    <div class=\"cvp-type-pills\" role=\"group\" aria-label=\"Filter by video type\">\n                        <button type=\"button\" class=\"cvp-video-type-btn active\" data-video-type=\"\">All Types<\/button>\n                        <button type=\"button\" class=\"cvp-video-type-btn\" data-video-type=\"tutorials\">Activity Tutorials<\/button><button type=\"button\" class=\"cvp-video-type-btn\" data-video-type=\"activities\">Classroom Activities<\/button><button type=\"button\" class=\"cvp-video-type-btn\" data-video-type=\"lesson-breakdowns\">Lesson Breakdowns<\/button><button type=\"button\" class=\"cvp-video-type-btn\" data-video-type=\"workshop-recording\">Workshop Recording<\/button>                        <div class=\"cvp-more-dropdown\" style=\"display:none;\">\n                            <button type=\"button\" class=\"cvp-more-btn\">More <span class=\"cvp-more-arrow\">&#9660;<\/span><\/button>\n                            <div class=\"cvp-more-menu\"><\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"cvp-search-wrapper\">\n                        <input type=\"search\" id=\"video-search-filter\" class=\"cvp-search-input\" placeholder=\"Search videos...\" autocomplete=\"off\" \/>\n                    <\/div>\n                <\/div>\n\n                <!-- Row 2: Secondary dropdowns (left) + toggles & reset (right) -->\n                <div class=\"cvp-filter-row-secondary\">\n                    <div class=\"cvp-filter-groups\">\n\n                        <!-- Topic (custom_category taxonomy) -->\n                        <div class=\"cvp-filter-group\">\n                            <span class=\"cvp-filter-group-label\">Topic<\/span>\n                            <select id=\"video-topic-filter\" class=\"cvp-filter-select\" data-filter-label=\"Topic\">\n                                <option value=\"\">All Topics<\/option>\n                                <option value=\"active-learning\">Active Learning<\/option><option value=\"classin\">ClassIn<\/option><option value=\"classin-instruction\">ClassIn Instruction<\/option><option value=\"classroom-management\">Classroom Management<\/option><option value=\"gamification\">Gamification<\/option><option value=\"grammar\">Grammar<\/option><option value=\"lesson-design\">Lesson Design<\/option><option value=\"listening-reading\">Listening &amp; Reading<\/option><option value=\"speaking-fluency\">Speaking &amp; Fluency<\/option><option value=\"tailored-teaching\">Tailored Teaching<\/option><option value=\"team-learning\">Team Learning<\/option><option value=\"vocabulary\">Vocabulary<\/option><optgroup label=\"\u2014 Grammar\"><option value=\"controlled-practice\">Controlled Practice<\/option><option value=\"form-meaning-and-use\">Form, Meaning and Use<\/option><option value=\"grammar-activities\">Grammar Activities<\/option><option value=\"grammar-in-context\">Grammar in Context<\/option><option value=\"review-questions\">Review Questions<\/option><\/optgroup><optgroup label=\"\u2014 Lesson Design\"><option value=\"assessment-techniques\">Assessment Techniques<\/option><option value=\"class-management\">Class Management<\/option><option value=\"differentiation\">Differentiation<\/option><option value=\"error-correction\">Error Correction<\/option><option value=\"lesson-staging\">Lesson Staging<\/option><option value=\"scaffolding\">Scaffolding<\/option><option value=\"warm-up-activities\">Warm-Up Activities<\/option><\/optgroup><optgroup label=\"\u2014 Listening &amp; Reading\"><option value=\"listening-activities\">Listening Activities<\/option><option value=\"listening-for-gist\">Listening for Gist<\/option><option value=\"pre-listening-activities\">Pre-Listening Activities<\/option><option value=\"pre-reading-activities\">Pre-Reading Activities<\/option><option value=\"reading-activities\">Reading Activities<\/option><option value=\"reading-introduction\">Reading Introduction<\/option><option value=\"teaching-reading-comprehension\">Teaching Reading Comprehension<\/option><\/optgroup><optgroup label=\"\u2014 Speaking &amp; Fluency\"><option value=\"encouraging-student-talk-time\">Encouraging Student Talk Time<\/option><option value=\"error-correction-in-speaking\">Error Correction in Speaking<\/option><option value=\"fluency-scaffolding\">Fluency Scaffolding<\/option><option value=\"guided-dialogue-practice\">Guided Dialogue Practice<\/option><option value=\"information-gap-tasks\">Information Gap Tasks<\/option><option value=\"role-play-activities\">Role Play Activities<\/option><option value=\"speaking-activities\">Speaking Activities<\/option><\/optgroup><optgroup label=\"\u2014 Vocabulary\"><option value=\"collocations-word-partnerships\">Collocations &amp; Word Partnerships<\/option><option value=\"retrieval-practice-techniques\">Retrieval Practice Techniques<\/option><option value=\"teaching-vocabulary-chunks\">Teaching Vocabulary &amp; Chunks<\/option><option value=\"teaching-vocabulary-in-context\">Teaching Vocabulary in Context<\/option><option value=\"vocabulary-activities\">Vocabulary Activities<\/option><option value=\"vocabulary-recycling\">Vocabulary Recycling<\/option><\/optgroup>                            <\/select>\n                        <\/div>\n\n                        <!-- Category (video_category taxonomy) -->\n                        <div class=\"cvp-filter-group\">\n                            <span class=\"cvp-filter-group-label\">Category<\/span>\n                            <select id=\"video-category\" class=\"cvp-filter-select\" data-filter-label=\"Category\">\n                                <option value=\"\">All Categories<\/option>\n                                <option value=\"acquisition-stages\">Acquisition Stages<\/option><option value=\"active-learning\">Active Learning<\/option><option value=\"active-learning-methods\">Active Learning Methods<\/option><option value=\"assessment-feedback\">Assessment &amp; Feedback<\/option><option value=\"chatty-champs\">Chatty Champs<\/option><option value=\"classin-instruction\">ClassIn Instruction<\/option><option value=\"classroom-management\">Classroom Management<\/option><option value=\"differentiation\">Differentiation<\/option><option value=\"fluent-flyers\">Fluent Flyers<\/option><option value=\"gamification\">Gamification<\/option><option value=\"gamification-in-teaching\">Gamification in Teaching<\/option><option value=\"grammar\">Grammar<\/option><option value=\"interactive-tools\">Interactive Tools<\/option><option value=\"lesson-design\">Lesson Design<\/option><option value=\"lesson-planning\">Lesson Planning<\/option><option value=\"listening-skills\">Listening Skills<\/option><option value=\"methodology\">Methodology<\/option><option value=\"phonics-early-literacy\">Phonics &amp; Early Literacy<\/option><option value=\"professional-growth\">Professional Growth<\/option><option value=\"pronunciation\">Pronunciation<\/option><option value=\"reading-skills\">Reading Skills<\/option><option value=\"silent-starters\">Silent Starters<\/option><option value=\"speaking-fluency\">Speaking &amp; Fluency<\/option><option value=\"tailored-teaching\">Tailored Teaching<\/option><option value=\"talking-tots\">Talking Tots<\/option><option value=\"teaching-adults\">Teaching Adults<\/option><option value=\"teaching-teens\">Teaching Teens<\/option><option value=\"teaching-young-learners\">Teaching Young Learners<\/option><option value=\"team-learning\">Team Learning<\/option><option value=\"technology-for-teaching\">Technology for Teaching<\/option><option value=\"topics\">Topics<\/option><option value=\"vocabulary\">Vocabulary<\/option><option value=\"writing-skills\">Writing Skills<\/option>                            <\/select>\n                        <\/div>\n\n                        <!-- By Filter (videos_filter taxonomy) -->\n                        <div class=\"cvp-filter-group\">\n                            <span class=\"cvp-filter-group-label\">By Filter<\/span>\n                            <select id=\"videos-filter\" class=\"cvp-filter-select\" data-filter-label=\"Filter\">\n                                <option value=\"\">All Access<\/option>\n                                <option value=\"advanced\">Advanced<\/option><option value=\"beginner\">Beginner<\/option><option value=\"free-workshops\">Free Workshops<\/option><option value=\"intermediate\">Intermediate<\/option><option value=\"restricted-workshop\">Restricted Workshop<\/option><option value=\"skill-level\">Skill Level<\/option><option value=\"type\">Type<\/option><optgroup label=\"\u2014 Type\"><option value=\"free-videos\">Free Videos<\/option><option value=\"paid-videos\">Paid Videos<\/option><\/optgroup>                            <\/select>\n                        <\/div>\n\n                        <!-- Level (video_level taxonomy) -->\n                        <div class=\"cvp-filter-group\">\n                            <span class=\"cvp-filter-group-label\">Level<\/span>\n                            <select id=\"video-level-filter\" class=\"cvp-filter-select\" data-filter-label=\"Level\">\n                                <option value=\"\">All Levels<\/option>\n                                <option value=\"early-years-3-5\">Early Years (3\u20135)<\/option><option value=\"lower-primary-6-8\">Lower Primary (6\u20138)<\/option><option value=\"lower-secondary-12-14\">Lower Secondary (12\u201314)<\/option><option value=\"upper-primary-9-11\">Upper Primary (9\u201311)<\/option><option value=\"upper-secondary-15-18\">Upper Secondary (15\u201318)<\/option>                            <\/select>\n                        <\/div>\n\n                    <\/div><!-- .cvp-filter-groups -->\n\n                    <!-- Toggles + divider + reset -->\n                    <div class=\"cvp-filter-actions-right\">\n                        <div class=\"cvp-filter-toggles\">\n                            <label class=\"cvp-toggle-label\" title=\"Show videos you've added to your playlist\">\n                                <input type=\"checkbox\" id=\"my-playlist-toggle\" class=\"cvp-toggle-input\" value=\"1\" \/>\n                                <div class=\"cvp-toggle-switch\"><\/div>\n                                <span class=\"cvp-toggle-text\">My Playlist<\/span>\n                            <\/label>\n                            <label class=\"cvp-toggle-label\" title=\"Show only videos you have access to\">\n                                <input type=\"checkbox\" id=\"has-access-toggle\" class=\"cvp-toggle-input\" value=\"1\" \/>\n                                <div class=\"cvp-toggle-switch\"><\/div>\n                                <span class=\"cvp-toggle-text\">Have Access<\/span>\n                            <\/label>\n                        <\/div>\n                        <div class=\"cvp-filter-vdivider\" aria-hidden=\"true\"><\/div>\n                        <button type=\"button\" id=\"cvp-reset-filters\" class=\"cvp-reset-btn\">\n                            <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" aria-hidden=\"true\"><polyline points=\"1 4 1 10 7 10\"\/><path d=\"M3.51 15a9 9 0 1 0 .49-4.5\"\/><\/svg>\n                            Reset Filters\n                        <\/button>\n                    <\/div>\n\n                <\/div><!-- .cvp-filter-row-secondary -->\n\n                <!-- Active filters bar (shown by JS when any filter is active) -->\n                <div class=\"cvp-active-filters-row\" id=\"cvp-active-filters-row\" style=\"display:none;\">\n                    <span class=\"cvp-active-filters-label\">Active Filters:<\/span>\n                    <div class=\"cvp-active-filters-list\" id=\"cvp-active-filters-list\"><\/div>\n                <\/div>\n\n            <\/div><!-- .cvp-filter-card-inner -->\n        <\/div><!-- .cvp-filter-card -->\n    <\/div><!-- .cvp-filters-section -->\n\n    <!-- Filter slide-up modal (mobile) -->\n    <div class=\"cvp-filter-modal-overlay\" id=\"cvp-filter-modal-overlay\"><\/div>\n    <div class=\"cvp-filter-modal-sheet\" id=\"cvp-filter-modal-sheet\">\n        <div class=\"cvp-filter-modal-handle\"><span><\/span><\/div>\n        <div class=\"cvp-filter-modal-body\">\n            <div class=\"cvp-filter-modal-header\">\n                <h3>Filters<\/h3>\n                <button type=\"button\" class=\"cvp-filter-modal-close\" id=\"cvp-filter-modal-close\" aria-label=\"Close\">\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n                <\/button>\n            <\/div>\n\n            <!-- Video Type -->\n            <div class=\"cvp-filter-modal-group\">\n                <label>Video Type<\/label>\n                <select id=\"cvp-modal-video-type\">\n                    <option value=\"\">All Types<\/option>\n                    <option value=\"tutorials\">Activity Tutorials<\/option><option value=\"activities\">Classroom Activities<\/option><option value=\"lesson-breakdowns\">Lesson Breakdowns<\/option><option value=\"workshop-recording\">Workshop Recording<\/option>                <\/select>\n            <\/div>\n\n            <!-- Topic -->\n            <div class=\"cvp-filter-modal-group\">\n                <label>Topic<\/label>\n                <select id=\"cvp-modal-topic\">\n                    <option value=\"\">All Topics<\/option>\n                    <option value=\"active-learning\">Active Learning<\/option><option value=\"assessment-techniques\">Assessment Techniques<\/option><option value=\"class-management\">Class Management<\/option><option value=\"classin\">ClassIn<\/option><option value=\"classin-instruction\">ClassIn Instruction<\/option><option value=\"classroom-management\">Classroom Management<\/option><option value=\"collocations-word-partnerships\">Collocations &amp; Word Partnerships<\/option><option value=\"controlled-practice\">Controlled Practice<\/option><option value=\"differentiation\">Differentiation<\/option><option value=\"encouraging-student-talk-time\">Encouraging Student Talk Time<\/option><option value=\"error-correction\">Error Correction<\/option><option value=\"error-correction-in-speaking\">Error Correction in Speaking<\/option><option value=\"fluency-scaffolding\">Fluency Scaffolding<\/option><option value=\"form-meaning-and-use\">Form, Meaning and Use<\/option><option value=\"gamification\">Gamification<\/option><option value=\"grammar\">Grammar<\/option><option value=\"grammar-activities\">Grammar Activities<\/option><option value=\"grammar-in-context\">Grammar in Context<\/option><option value=\"guided-dialogue-practice\">Guided Dialogue Practice<\/option><option value=\"information-gap-tasks\">Information Gap Tasks<\/option><option value=\"lesson-design\">Lesson Design<\/option><option value=\"lesson-staging\">Lesson Staging<\/option><option value=\"listening-reading\">Listening &amp; Reading<\/option><option value=\"listening-activities\">Listening Activities<\/option><option value=\"listening-for-gist\">Listening for Gist<\/option><option value=\"pre-listening-activities\">Pre-Listening Activities<\/option><option value=\"pre-reading-activities\">Pre-Reading Activities<\/option><option value=\"reading-activities\">Reading Activities<\/option><option value=\"reading-introduction\">Reading Introduction<\/option><option value=\"retrieval-practice-techniques\">Retrieval Practice Techniques<\/option><option value=\"review-questions\">Review Questions<\/option><option value=\"role-play-activities\">Role Play Activities<\/option><option value=\"scaffolding\">Scaffolding<\/option><option value=\"speaking-fluency\">Speaking &amp; Fluency<\/option><option value=\"speaking-activities\">Speaking Activities<\/option><option value=\"tailored-teaching\">Tailored Teaching<\/option><option value=\"teaching-reading-comprehension\">Teaching Reading Comprehension<\/option><option value=\"teaching-vocabulary-chunks\">Teaching Vocabulary &amp; Chunks<\/option><option value=\"teaching-vocabulary-in-context\">Teaching Vocabulary in Context<\/option><option value=\"team-learning\">Team Learning<\/option><option value=\"vocabulary\">Vocabulary<\/option><option value=\"vocabulary-activities\">Vocabulary Activities<\/option><option value=\"vocabulary-recycling\">Vocabulary Recycling<\/option><option value=\"warm-up-activities\">Warm-Up Activities<\/option>                <\/select>\n            <\/div>\n\n            <!-- Category -->\n            <div class=\"cvp-filter-modal-group\">\n                <label>Category<\/label>\n                <select id=\"cvp-modal-category\">\n                    <option value=\"\">All Categories<\/option>\n                    <option value=\"acquisition-stages\">Acquisition Stages<\/option><option value=\"active-learning\">Active Learning<\/option><option value=\"active-learning-methods\">Active Learning Methods<\/option><option value=\"assessment-feedback\">Assessment &amp; Feedback<\/option><option value=\"chatty-champs\">Chatty Champs<\/option><option value=\"classin-instruction\">ClassIn Instruction<\/option><option value=\"classroom-management\">Classroom Management<\/option><option value=\"differentiation\">Differentiation<\/option><option value=\"fluent-flyers\">Fluent Flyers<\/option><option value=\"gamification\">Gamification<\/option><option value=\"gamification-in-teaching\">Gamification in Teaching<\/option><option value=\"grammar\">Grammar<\/option><option value=\"interactive-tools\">Interactive Tools<\/option><option value=\"lesson-design\">Lesson Design<\/option><option value=\"lesson-planning\">Lesson Planning<\/option><option value=\"listening-skills\">Listening Skills<\/option><option value=\"methodology\">Methodology<\/option><option value=\"phonics-early-literacy\">Phonics &amp; Early Literacy<\/option><option value=\"professional-growth\">Professional Growth<\/option><option value=\"pronunciation\">Pronunciation<\/option><option value=\"reading-skills\">Reading Skills<\/option><option value=\"silent-starters\">Silent Starters<\/option><option value=\"speaking-fluency\">Speaking &amp; Fluency<\/option><option value=\"tailored-teaching\">Tailored Teaching<\/option><option value=\"talking-tots\">Talking Tots<\/option><option value=\"teaching-adults\">Teaching Adults<\/option><option value=\"teaching-teens\">Teaching Teens<\/option><option value=\"teaching-young-learners\">Teaching Young Learners<\/option><option value=\"team-learning\">Team Learning<\/option><option value=\"technology-for-teaching\">Technology for Teaching<\/option><option value=\"topics\">Topics<\/option><option value=\"vocabulary\">Vocabulary<\/option><option value=\"writing-skills\">Writing Skills<\/option>                <\/select>\n            <\/div>\n\n            <!-- Access Filter -->\n            <div class=\"cvp-filter-modal-group\">\n                <label>Access<\/label>\n                <select id=\"cvp-modal-access\">\n                    <option value=\"\">All Access<\/option>\n                    <option value=\"advanced\">Advanced<\/option><option value=\"beginner\">Beginner<\/option><option value=\"free-videos\">Free Videos<\/option><option value=\"free-workshops\">Free Workshops<\/option><option value=\"intermediate\">Intermediate<\/option><option value=\"paid-videos\">Paid Videos<\/option><option value=\"restricted-workshop\">Restricted Workshop<\/option><option value=\"skill-level\">Skill Level<\/option><option value=\"type\">Type<\/option>                <\/select>\n            <\/div>\n\n            <!-- Level -->\n            <div class=\"cvp-filter-modal-group\">\n                <label>Level<\/label>\n                <select id=\"cvp-modal-level\">\n                    <option value=\"\">All Levels<\/option>\n                    <option value=\"early-years-3-5\">Early Years (3\u20135)<\/option><option value=\"lower-primary-6-8\">Lower Primary (6\u20138)<\/option><option value=\"lower-secondary-12-14\">Lower Secondary (12\u201314)<\/option><option value=\"upper-primary-9-11\">Upper Primary (9\u201311)<\/option><option value=\"upper-secondary-15-18\">Upper Secondary (15\u201318)<\/option>                <\/select>\n            <\/div>\n\n            <!-- Toggles -->\n            <div class=\"cvp-filter-modal-toggles\">\n                <label class=\"cvp-toggle-label\">\n                    <input type=\"checkbox\" id=\"cvp-modal-playlist\" class=\"cvp-toggle-input\" value=\"1\" \/>\n                    <div class=\"cvp-toggle-switch\"><\/div>\n                    <span class=\"cvp-toggle-text\">My Playlist<\/span>\n                <\/label>\n                <label class=\"cvp-toggle-label\">\n                    <input type=\"checkbox\" id=\"cvp-modal-access-toggle\" class=\"cvp-toggle-input\" value=\"1\" \/>\n                    <div class=\"cvp-toggle-switch\"><\/div>\n                    <span class=\"cvp-toggle-text\">Have Access<\/span>\n                <\/label>\n            <\/div>\n\n            <!-- Actions -->\n            <div class=\"cvp-filter-modal-actions\">\n                <button type=\"button\" class=\"cvp-filter-modal-reset\" id=\"cvp-filter-modal-reset\">Reset<\/button>\n                <button type=\"button\" class=\"cvp-filter-modal-apply\" id=\"cvp-filter-modal-apply\">Apply Filters<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <!-- Mobile search bottom sheet -->\n    <div class=\"cvp-search-overlay-backdrop\" id=\"cvp-search-backdrop\"><\/div>\n    <div class=\"cvp-search-overlay\" id=\"cvp-search-overlay\">\n        <div class=\"cvp-search-overlay-handle\"><span><\/span><\/div>\n        <div class=\"cvp-search-overlay-body\">\n            <div class=\"cvp-search-overlay-header\">\n                <h3>Search Videos<\/h3>\n                <button type=\"button\" class=\"cvp-search-overlay-close\" id=\"cvp-search-overlay-close\" aria-label=\"Close search\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#6b7280\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n                <\/button>\n            <\/div>\n            <div class=\"cvp-search-overlay-input-wrap\">\n                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#94a3b8\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\n                <input type=\"search\" class=\"cvp-search-overlay-input\" id=\"cvp-search-overlay-input\" placeholder=\"Search videos...\" autocomplete=\"off\" \/>\n            <\/div>\n            <div class=\"cvp-search-overlay-actions\">\n                <button type=\"button\" class=\"cvp-search-overlay-clear\" id=\"cvp-search-overlay-clear\">Clear<\/button>\n                <button type=\"button\" class=\"cvp-search-overlay-submit\" id=\"cvp-search-overlay-submit\">Search<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script>\n    (function () {\n        'use strict';\n\n        \/* \u2500\u2500 More dropdown \u2014 responsive overflow \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        var pillsContainer = document.querySelector('.cvp-type-pills');\n        var moreDropdown   = document.querySelector('.cvp-more-dropdown');\n        var moreMenu       = moreDropdown ? moreDropdown.querySelector('.cvp-more-menu') : null;\n        var moreBtn        = moreDropdown ? moreDropdown.querySelector('.cvp-more-btn') : null;\n        var allTypeBtns    = pillsContainer ? Array.prototype.slice.call(\n            pillsContainer.querySelectorAll('.cvp-video-type-btn:not(.cvp-more-menu .cvp-video-type-btn)')\n        ) : [];\n\n        function distributeOverflow() {\n            if (!pillsContainer || !moreDropdown || !moreMenu) return;\n\n            \/\/ 1. Move all buttons back into the pill bar (reset)\n            moreMenu.querySelectorAll('.cvp-video-type-btn').forEach(function (btn) {\n                btn.classList.remove('cvp-overflow-hidden');\n                pillsContainer.insertBefore(btn, moreDropdown);\n            });\n\n            \/\/ Refresh the list (only direct children, not those inside moreMenu)\n            allTypeBtns = Array.prototype.slice.call(\n                pillsContainer.querySelectorAll(':scope > .cvp-video-type-btn')\n            );\n\n            \/\/ 2. Hide More initially\n            moreDropdown.style.display = 'none';\n\n            \/\/ 3. Check if everything fits on one row\n            if (allTypeBtns.length === 0) return;\n            var baselineTop = allTypeBtns[0].getBoundingClientRect().top;\n            var needsOverflow = false;\n            for (var i = 1; i < allTypeBtns.length; i++) {\n                if (allTypeBtns[i].getBoundingClientRect().top > baselineTop + 2) {\n                    needsOverflow = true;\n                    break;\n                }\n            }\n\n            if (!needsOverflow) return; \/\/ All fits \u2014 done\n\n            \/\/ 4. Show the More button, then pull buttons from the end into\n            \/\/    the dropdown until the More button sits on the first row.\n            moreDropdown.style.display = '';\n\n            \/\/ Keep pulling the last visible type button into the menu\n            \/\/ until More is on the baseline row (or we run out of buttons).\n            var safety = allTypeBtns.length;\n            while (safety-- > 0) {\n                var moreBtnTop = moreDropdown.getBoundingClientRect().top;\n                if (moreBtnTop <= baselineTop + 2) break; \/\/ More is on row 1\n\n                \/\/ Take the last direct-child type button and prepend it into the menu\n                var visibleBtns = Array.prototype.slice.call(\n                    pillsContainer.querySelectorAll(':scope > .cvp-video-type-btn')\n                );\n                if (visibleBtns.length === 0) break;\n\n                var last = visibleBtns[visibleBtns.length - 1];\n                last.classList.add('cvp-overflow-hidden');\n                moreMenu.insertBefore(last, moreMenu.firstChild);\n            }\n\n            updateMoreBtnState();\n        }\n\n        \/\/ Run on load and resize\n        distributeOverflow();\n        var resizeTimer;\n        window.addEventListener('resize', function () {\n            clearTimeout(resizeTimer);\n            resizeTimer = setTimeout(distributeOverflow, 150);\n        });\n\n        \/\/ Toggle dropdown open\/close\n        if (moreBtn) {\n            moreBtn.addEventListener('click', function (e) {\n                e.stopPropagation();\n                moreDropdown.classList.toggle('open');\n            });\n        }\n\n        \/\/ Close dropdown when a type inside it is clicked\n        if (moreMenu) {\n            moreMenu.addEventListener('click', function (e) {\n                var btn = e.target.closest('.cvp-video-type-btn');\n                if (btn) {\n                    moreDropdown.classList.remove('open');\n                    setTimeout(updateMoreBtnState, 0);\n                }\n            });\n        }\n\n        \/\/ Close on outside click\n        document.addEventListener('click', function (e) {\n            if (moreDropdown && !moreDropdown.contains(e.target)) {\n                moreDropdown.classList.remove('open');\n            }\n        });\n\n        function updateMoreBtnState() {\n            if (!moreDropdown || !moreMenu) return;\n            var hasActive = moreMenu.querySelector('.cvp-video-type-btn.active');\n            if (moreBtn) moreBtn.classList.toggle('has-active', !!hasActive);\n        }\n\n        \/\/ Update More button highlight when any type button is clicked\n        document.querySelectorAll('.cvp-video-type-btn').forEach(function (btn) {\n            btn.addEventListener('click', function () {\n                setTimeout(updateMoreBtnState, 0);\n            });\n        });\n\n        \/* \u2500\u2500 Reset button \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        var resetBtn = document.getElementById('cvp-reset-filters');\n        if (resetBtn) {\n            resetBtn.addEventListener('click', function () {\n                document.querySelectorAll('.cvp-filter-card select').forEach(function (s) { s.selectedIndex = 0; });\n\n                var search = document.getElementById('video-search-filter');\n                if (search) search.value = '';\n\n                document.querySelectorAll('.cvp-filter-card .cvp-toggle-input').forEach(function (t) { t.checked = false; });\n\n                document.querySelectorAll('.cvp-video-type-btn').forEach(function (btn) {\n                    btn.classList.toggle('active', btn.getAttribute('data-video-type') === '');\n                });\n\n                \/\/ Reset More dropdown state\n                if (moreDropdown) {\n                    moreDropdown.classList.remove('open');\n                    if (moreBtn) moreBtn.classList.remove('has-active');\n                }\n                distributeOverflow();\n\n                document.dispatchEvent(new CustomEvent('cvp:filtersReset'));\n\n                var firstSelect = document.getElementById('video-topic-filter');\n                if (firstSelect) firstSelect.dispatchEvent(new Event('change', { bubbles: true }));\n            });\n        }\n\n        \/* \u2500\u2500 Active filters pills \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        function getSelectedLabel(selectEl) {\n            if (!selectEl || !selectEl.value) return null;\n            var opt = selectEl.options[selectEl.selectedIndex];\n            return opt ? opt.text : null;\n        }\n\n        function updateActivePills() {\n            var row  = document.getElementById('cvp-active-filters-row');\n            var list = document.getElementById('cvp-active-filters-list');\n            if (!row || !list) return;\n\n            \/* When search is active, hide pills entirely \u2014 show only taxonomy results *\/\n            var searchEl = document.getElementById('video-search-filter');\n            var hasSearch = searchEl && searchEl.value.trim();\n            if (hasSearch) {\n                row.style.display = 'none';\n                list.innerHTML = '';\n                return;\n            }\n\n            var pills = [];\n\n            \/* Dropdown pills *\/\n            [\n                { id: 'video-topic-filter' },\n                { id: 'video-category' },\n                { id: 'videos-filter' },\n                { id: 'video-level-filter' },\n            ].forEach(function (cfg) {\n                var el = document.getElementById(cfg.id);\n                var label = getSelectedLabel(el);\n                if (label) {\n                    var capturedId = cfg.id;\n                    pills.push({ key: capturedId, label: label, clear: function () {\n                        var sel = document.getElementById(capturedId);\n                        if (sel) {\n                            sel.selectedIndex = 0;\n                            sel.dispatchEvent(new Event('change', { bubbles: true }));\n                        }\n                    }});\n                }\n            });\n\n            \/* Render *\/\n            if (pills.length === 0) {\n                row.style.display = 'none';\n                list.innerHTML = '';\n                return;\n            }\n\n            row.style.display = 'flex';\n            list.innerHTML = '';\n            pills.forEach(function (pill) {\n                var span = document.createElement('span');\n                span.className = 'hta-filter-pill';\n                span.innerHTML =\n                    '<span>' + pill.label + '<\/span>' +\n                    '<button type=\"button\" class=\"cvp-pill-remove\" aria-label=\"Remove filter\">' +\n                        '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>' +\n                    '<\/button>';\n                span.querySelector('.cvp-pill-remove').addEventListener('click', pill.clear);\n                list.appendChild(span);\n            });\n        }\n\n        \/* Watch all filter inputs for changes *\/\n        document.addEventListener('change', function (e) {\n            if (e.target.closest('.cvp-filter-card')) updateActivePills();\n        });\n        document.addEventListener('input', function (e) {\n            if (e.target.id === 'video-search-filter') updateActivePills();\n        });\n        document.addEventListener('click', function (e) {\n            if (e.target.closest('.cvp-video-type-btn')) {\n                setTimeout(updateActivePills, 0);\n            }\n        });\n        document.addEventListener('cvp:filtersReset', function () {\n            setTimeout(updateActivePills, 0);\n        });\n\n        \/* \u2500\u2500 Mobile filter modal \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        (function () {\n            var btn     = document.getElementById('cvp-mobile-filter-toggle');\n            var overlay = document.getElementById('cvp-filter-modal-overlay');\n            var sheet   = document.getElementById('cvp-filter-modal-sheet');\n            var closeBtn = document.getElementById('cvp-filter-modal-close');\n            var applyBtn = document.getElementById('cvp-filter-modal-apply');\n            var resetBtn2 = document.getElementById('cvp-filter-modal-reset');\n            if (!btn || !overlay || !sheet) return;\n\n            \/* Map modal selects \u2194 original filter controls *\/\n            var mappings = [\n                { modal: 'cvp-modal-video-type', original: null, typeBtn: true },\n                { modal: 'cvp-modal-topic',      original: 'video-topic-filter' },\n                { modal: 'cvp-modal-category',    original: 'video-category' },\n                { modal: 'cvp-modal-access',      original: 'videos-filter' },\n                { modal: 'cvp-modal-level',       original: 'video-level-filter' },\n            ];\n            var toggleMappings = [\n                { modal: 'cvp-modal-playlist',       original: 'my-playlist-toggle' },\n                { modal: 'cvp-modal-access-toggle',  original: 'has-access-toggle' },\n            ];\n\n            function openModal() {\n                \/* Sync modal state from original filters *\/\n                mappings.forEach(function (m) {\n                    var modalEl = document.getElementById(m.modal);\n                    if (!modalEl) return;\n                    if (m.typeBtn) {\n                        var activeType = document.querySelector('.cvp-video-type-btn.active');\n                        modalEl.value = activeType ? (activeType.getAttribute('data-video-type') || '') : '';\n                    } else {\n                        var origEl = document.getElementById(m.original);\n                        if (origEl) modalEl.value = origEl.value;\n                    }\n                });\n                toggleMappings.forEach(function (m) {\n                    var modalEl = document.getElementById(m.modal);\n                    var origEl  = document.getElementById(m.original);\n                    if (modalEl && origEl) modalEl.checked = origEl.checked;\n                });\n\n                overlay.classList.add('cvp-modal-open');\n                sheet.classList.add('cvp-modal-open');\n                document.body.style.overflow = 'hidden';\n            }\n\n            function closeModal() {\n                overlay.classList.remove('cvp-modal-open');\n                sheet.classList.remove('cvp-modal-open');\n                document.body.style.overflow = '';\n            }\n\n            function applyFilters() {\n                \/* Push ALL modal values to original controls silently (no events)\n                   to avoid race conditions from multiple filterVideos() calls. *\/\n                mappings.forEach(function (m) {\n                    var modalEl = document.getElementById(m.modal);\n                    if (!modalEl) return;\n                    if (m.typeBtn) {\n                        var val = modalEl.value;\n                        document.querySelectorAll('.cvp-video-type-btn').forEach(function (b) {\n                            b.classList.toggle('active', (b.getAttribute('data-video-type') || '') === val);\n                        });\n                    } else {\n                        var origEl = document.getElementById(m.original);\n                        if (origEl) {\n                            origEl.value = modalEl.value;\n                        }\n                    }\n                });\n                toggleMappings.forEach(function (m) {\n                    var modalEl = document.getElementById(m.modal);\n                    var origEl  = document.getElementById(m.original);\n                    if (modalEl && origEl) {\n                        origEl.checked = modalEl.checked;\n                    }\n                });\n\n                \/* Show active state on filter button *\/\n                var hasActive = false;\n                mappings.forEach(function (m) {\n                    var el = document.getElementById(m.modal);\n                    if (el && el.value) hasActive = true;\n                });\n                toggleMappings.forEach(function (m) {\n                    var el = document.getElementById(m.modal);\n                    if (el && el.checked) hasActive = true;\n                });\n                btn.classList.toggle('active', hasActive);\n\n                closeModal();\n\n                \/* Single filterVideos() call with all controls already updated *\/\n                if (typeof window.cvpForceFilter === 'function') {\n                    window.cvpForceFilter();\n                } else {\n                    \/* Fallback: dispatch change on one original control to trigger filterVideos *\/\n                    var fallbackEl = document.getElementById('has-access-toggle') || document.getElementById('videos-filter');\n                    if (fallbackEl) fallbackEl.dispatchEvent(new Event('change', { bubbles: true }));\n                }\n            }\n\n            function resetFilters() {\n                sheet.querySelectorAll('select').forEach(function (s) { s.selectedIndex = 0; });\n                sheet.querySelectorAll('.cvp-toggle-input').forEach(function (t) { t.checked = false; });\n            }\n\n            btn.addEventListener('click', openModal);\n            overlay.addEventListener('click', closeModal);\n            if (closeBtn) closeBtn.addEventListener('click', closeModal);\n            if (applyBtn) applyBtn.addEventListener('click', applyFilters);\n            if (resetBtn2) resetBtn2.addEventListener('click', resetFilters);\n        })();\n\n        \/* \u2500\u2500 Mobile search overlay \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        (function () {\n            var searchBtn      = document.getElementById('cvp-mobile-search-toggle');\n            var searchOverlay  = document.getElementById('cvp-search-overlay');\n            var searchBackdrop = document.getElementById('cvp-search-backdrop');\n            var searchInput    = document.getElementById('cvp-search-overlay-input');\n            var searchClose    = document.getElementById('cvp-search-overlay-close');\n            var realInput      = document.getElementById('video-search-filter');\n            if (!searchBtn || !searchOverlay || !searchInput || !realInput) return;\n\n            function openSearch() {\n                searchOverlay.classList.add('cvp-search-open');\n                if (searchBackdrop) searchBackdrop.classList.add('cvp-search-open');\n                searchInput.value = realInput.value;\n                document.body.style.overflow = 'hidden';\n                setTimeout(function () { searchInput.focus(); }, 350);\n            }\n\n            function closeSearch() {\n                searchOverlay.classList.remove('cvp-search-open');\n                if (searchBackdrop) searchBackdrop.classList.remove('cvp-search-open');\n                document.body.style.overflow = '';\n            }\n\n            searchInput.addEventListener('input', function () {\n                realInput.value = searchInput.value;\n                realInput.dispatchEvent(new Event('input', { bubbles: true }));\n            });\n\n            searchBtn.addEventListener('click', openSearch);\n            if (searchClose) searchClose.addEventListener('click', closeSearch);\n            if (searchBackdrop) searchBackdrop.addEventListener('click', closeSearch);\n\n            searchInput.addEventListener('keydown', function (e) {\n                if (e.key === 'Escape') closeSearch();\n                if (e.key === 'Enter') closeSearch();\n            });\n\n            var submitBtn = document.getElementById('cvp-search-overlay-submit');\n            var clearBtn  = document.getElementById('cvp-search-overlay-clear');\n\n            if (submitBtn) submitBtn.addEventListener('click', closeSearch);\n\n            if (clearBtn) clearBtn.addEventListener('click', function () {\n                searchInput.value = '';\n                realInput.value = '';\n                realInput.dispatchEvent(new Event('input', { bubbles: true }));\n                searchInput.focus();\n            });\n        })();\n    })();\n    <\/script>\n        <div class=\"cvp-videos-section\">\n\n                    <div class=\"tab-content active\" id=\"all-videos\">\n                <div id=\"videos-grid-all-videos\" class=\"videos-grid\" data-page=\"1\" data-tab=\"all-videos\">\n                        <div class=\"cvp-video-card cvp-card-clickable cvp-card-unlocked\" \n         id=\"cvp-video-35943\"\n         data-video-id=\"35943\"\n         data-video-link=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-5-kindergarten-fun-with-fingerplays-songs-and-emotions\/?video=35943\"\n         data-has-access=\"1\"\n         style=\"cursor: pointer;\">\n        <!-- Card Header with Gradient\/Image -->\n        <div class=\"cvp-card-header \" \n             style=\"background-image: url('https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2026\/07\/hta-5.jpg');\">\n            \n            \n                            <div class=\"cvp-card-duration-overlay\">84 mins<\/div>\n            \n                    <\/div>\n\n        <!-- Card Body -->\n        <div class=\"cvp-card-body\">\n                            <div class=\"cvp-card-mobile-meta\">\n                                            <span class=\"cvp-card-mobile-meta__type\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                                                        <\/div>\n            \n            <!-- Top Row: Badge + Actions -->\n            <div class=\"cvp-card-body__top\">\n                <span class=\"cvp-card-badge\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                \n                <div class=\"cvp-card-actions\">\n                                        \n                                        <div class=\"cvp-card-rating-mini\">\n                        <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.53.31.png\" alt=\"star\" \/>\n                        <span>5.0<\/span>\n                    <\/div>\n                                        \n                                        \n                    <div class=\"cvp-tooltip-wrapper\">\n                        <button type=\"button\" \n                                class=\"share-button\"\n                                data-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35943\"\n                                data-title=\"HTA Teacher Kickoff #5 Kindergarten Fun with Fingerplays, Songs &amp; Emotions\"\n                                aria-label=\"Share\">\n                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/copy.png\" alt=\"Share\" style=\"width: 24px; height: 24px;\">                        <\/button>\n                        <span class=\"cvp-tooltip hover-toast\">Share<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Title row with 3-dot menu on mobile -->\n            <div class=\"cvp-card-title-row\">\n                <h3 class=\"cvp-card-body__title\">\n                    <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-5-kindergarten-fun-with-fingerplays-songs-and-emotions\/?video=35943\" \n                       class=\"trigger-video-ajax\"\n                       data-video-id=\"35943\">\n                        HTA Teacher Kickoff #5 Kindergarten Fun with Fingerplays, Songs &amp; Emotions                    <\/a>\n                <\/h3>\n                <button type=\"button\" class=\"cvp-card-more-btn\"\n                        data-video-id=\"35943\"\n                        data-video-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35943\"\n                        data-video-title=\"HTA Teacher Kickoff #5 Kindergarten Fun with Fingerplays, Songs &amp; Emotions\"\n                        data-fav-status=\"not_favorite\"\n                        aria-label=\"More options\">\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"5\" r=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><circle cx=\"12\" cy=\"19\" r=\"2\"\/><\/svg>\n                <\/button>\n            <\/div>\n\n            <!-- Meta Row -->\n            <div class=\"cvp-card-meta\">\n                                    <span class=\"cvp-card-meta__duration\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"14\" height=\"14\" style=\"vertical-align: -4px; margin-right: 4px;\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\"\/><\/svg>\n                        84 mins                    <\/span>\n                \n                <span class=\"cvp-card-meta__separator\">|<\/span><span class=\"cvp-card-meta__language\">Vietnamese<\/span>            <\/div>\n        <\/div>\n\n        <!-- Card Footer -->\n        <div class=\"cvp-card-footer\">\n                            <div class=\"cvp-card-instructor\">\n                    <div class=\"cvp-card-instructor__author\">\n                                                    <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/251\/69c56f9ab5b7f-bpthumb.jpg\" \n                                 alt=\"Lam Daniel\" \n                                 class=\"cvp-card-instructor__avatar\"\n                                 loading=\"lazy\" \/>\n                                                <span class=\"cvp-card-instructor__name\">Lam Daniel<\/span>\n                    <\/div>\n                                    <\/div>\n            \n                            <div class=\"cvp-card-footer-rating\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"#eab308\" width=\"14\" height=\"14\" style=\"flex-shrink:0;\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg>\n                    <span>5.0<\/span>\n                <\/div>\n            \n                            <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-5-kindergarten-fun-with-fingerplays-songs-and-emotions\/?video=35943\" \n                   class=\"cvp-card-watch-btn trigger-video-ajax\"\n                   data-video-id=\"35943\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" class=\"cvp-icon-play\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#d97706\"\/><path d=\"M10 8l6 4-6 4V8z\" fill=\"white\"\/><\/svg>                    Start Watching                <\/a>\n                    <\/div>\n    <\/div>\n        <div class=\"cvp-video-card cvp-card-clickable cvp-card-unlocked\" \n         id=\"cvp-video-35877\"\n         data-video-id=\"35877\"\n         data-video-link=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/block-by-block-building-an-education-ecosystem-for-educators\/?video=35877\"\n         data-has-access=\"1\"\n         style=\"cursor: pointer;\">\n        <!-- Card Header with Gradient\/Image -->\n        <div class=\"cvp-card-header \" \n             style=\"background-image: url('https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2026\/06\/block-by-block.png');\">\n            \n            \n                            <div class=\"cvp-card-duration-overlay\">92 mins<\/div>\n            \n                    <\/div>\n\n        <!-- Card Body -->\n        <div class=\"cvp-card-body\">\n                            <div class=\"cvp-card-mobile-meta\">\n                                            <span class=\"cvp-card-mobile-meta__type\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                                                            <div class=\"cvp-card-mobile-meta__cats\">\n                                                    <span class=\"cvp-card-mobile-meta__cat\">Active Learning<\/span>\n                                                                            <span class=\"cvp-card-mobile-meta__sep\">&middot;<\/span>\n                                                                            <span class=\"cvp-card-mobile-meta__cat\">Active Learning<\/span>\n                                            <\/div>\n                                    <\/div>\n            \n            <!-- Top Row: Badge + Actions -->\n            <div class=\"cvp-card-body__top\">\n                <span class=\"cvp-card-badge\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                \n                <div class=\"cvp-card-actions\">\n                                        \n                                        <div class=\"cvp-card-rating-mini\">\n                        <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.53.31.png\" alt=\"star\" \/>\n                        <span>5.0<\/span>\n                    <\/div>\n                                        \n                                        \n                    <div class=\"cvp-tooltip-wrapper\">\n                        <button type=\"button\" \n                                class=\"share-button\"\n                                data-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35877\"\n                                data-title=\"Block by Block \u2014 Building an Education Ecosystem for Educators\"\n                                aria-label=\"Share\">\n                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/copy.png\" alt=\"Share\" style=\"width: 24px; height: 24px;\">                        <\/button>\n                        <span class=\"cvp-tooltip hover-toast\">Share<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Title row with 3-dot menu on mobile -->\n            <div class=\"cvp-card-title-row\">\n                <h3 class=\"cvp-card-body__title\">\n                    <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/block-by-block-building-an-education-ecosystem-for-educators\/?video=35877\" \n                       class=\"trigger-video-ajax\"\n                       data-video-id=\"35877\">\n                        Block by Block \u2014 Building an Education Ecosystem for Educators                    <\/a>\n                <\/h3>\n                <button type=\"button\" class=\"cvp-card-more-btn\"\n                        data-video-id=\"35877\"\n                        data-video-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35877\"\n                        data-video-title=\"Block by Block \u2014 Building an Education Ecosystem for Educators\"\n                        data-fav-status=\"not_favorite\"\n                        aria-label=\"More options\">\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"5\" r=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><circle cx=\"12\" cy=\"19\" r=\"2\"\/><\/svg>\n                <\/button>\n            <\/div>\n\n            <!-- Meta Row -->\n            <div class=\"cvp-card-meta\">\n                                    <span class=\"cvp-card-meta__duration\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"14\" height=\"14\" style=\"vertical-align: -4px; margin-right: 4px;\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\"\/><\/svg>\n                        92 mins                    <\/span>\n                \n                <span class=\"cvp-card-meta__separator\">|<\/span><span class=\"cvp-card-meta__category\">Active Learning<\/span><span class=\"cvp-card-meta__separator\">|<\/span><span class=\"cvp-card-meta__language\">Vietnamese<\/span>            <\/div>\n        <\/div>\n\n        <!-- Card Footer -->\n        <div class=\"cvp-card-footer\">\n                            <div class=\"cvp-card-instructor cvp-card-instructor--multi\">\n                    <div class=\"cvp-card-instructor__author\">\n                                                    <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/251\/69c56f9ab5b7f-bpthumb.jpg\" \n                                 alt=\"Lam Daniel\" \n                                 class=\"cvp-card-instructor__avatar\"\n                                 loading=\"lazy\" \/>\n                                                <span class=\"cvp-card-instructor__name\">Lam Daniel<\/span>\n                    <\/div>\n                                            <div class=\"cvp-card-instructor__divider\"><\/div>\n                        <div class=\"cvp-card-instructor__author\">\n                                                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/284\/68662ad28cb19-bpthumb.jpg\" \n                                     alt=\"Tran Ami\" \n                                     class=\"cvp-card-instructor__avatar\"\n                                     loading=\"lazy\" \/>\n                                                        <span class=\"cvp-card-instructor__name\">Tran Ami<\/span>\n                        <\/div>\n                                    <\/div>\n            \n                            <div class=\"cvp-card-footer-rating\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"#eab308\" width=\"14\" height=\"14\" style=\"flex-shrink:0;\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg>\n                    <span>5.0<\/span>\n                <\/div>\n            \n                            <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/block-by-block-building-an-education-ecosystem-for-educators\/?video=35877\" \n                   class=\"cvp-card-watch-btn trigger-video-ajax\"\n                   data-video-id=\"35877\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" class=\"cvp-icon-play\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#d97706\"\/><path d=\"M10 8l6 4-6 4V8z\" fill=\"white\"\/><\/svg>                    Start Watching                <\/a>\n                    <\/div>\n    <\/div>\n        <div class=\"cvp-video-card cvp-card-clickable cvp-card-unlocked\" \n         id=\"cvp-video-35851\"\n         data-video-id=\"35851\"\n         data-video-link=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-4-teaching-spelling-that-sticks-lessons-from-the-classrooms\/?video=35851\"\n         data-has-access=\"1\"\n         style=\"cursor: pointer;\">\n        <!-- Card Header with Gradient\/Image -->\n        <div class=\"cvp-card-header \" \n             style=\"background-image: url('https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2026\/06\/720180467_2504970259933347_7231073296569359694_n.jpg');\">\n            \n            \n                            <div class=\"cvp-card-duration-overlay\">82 mins<\/div>\n            \n                    <\/div>\n\n        <!-- Card Body -->\n        <div class=\"cvp-card-body\">\n                            <div class=\"cvp-card-mobile-meta\">\n                                            <span class=\"cvp-card-mobile-meta__type\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                                                        <\/div>\n            \n            <!-- Top Row: Badge + Actions -->\n            <div class=\"cvp-card-body__top\">\n                <span class=\"cvp-card-badge\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                \n                <div class=\"cvp-card-actions\">\n                                        \n                                        <div class=\"cvp-card-rating-mini\">\n                        <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.53.31.png\" alt=\"star\" \/>\n                        <span>5.0<\/span>\n                    <\/div>\n                                        \n                                        \n                    <div class=\"cvp-tooltip-wrapper\">\n                        <button type=\"button\" \n                                class=\"share-button\"\n                                data-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35851\"\n                                data-title=\"HTA Teacher Kickoff #4 Teaching Spelling That Sticks Lessons from the Classrooms\"\n                                aria-label=\"Share\">\n                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/copy.png\" alt=\"Share\" style=\"width: 24px; height: 24px;\">                        <\/button>\n                        <span class=\"cvp-tooltip hover-toast\">Share<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Title row with 3-dot menu on mobile -->\n            <div class=\"cvp-card-title-row\">\n                <h3 class=\"cvp-card-body__title\">\n                    <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-4-teaching-spelling-that-sticks-lessons-from-the-classrooms\/?video=35851\" \n                       class=\"trigger-video-ajax\"\n                       data-video-id=\"35851\">\n                        HTA Teacher Kickoff #4 Teaching Spelling That Sticks Lessons from the Classrooms                    <\/a>\n                <\/h3>\n                <button type=\"button\" class=\"cvp-card-more-btn\"\n                        data-video-id=\"35851\"\n                        data-video-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35851\"\n                        data-video-title=\"HTA Teacher Kickoff #4 Teaching Spelling That Sticks Lessons from the Classrooms\"\n                        data-fav-status=\"not_favorite\"\n                        aria-label=\"More options\">\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"5\" r=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><circle cx=\"12\" cy=\"19\" r=\"2\"\/><\/svg>\n                <\/button>\n            <\/div>\n\n            <!-- Meta Row -->\n            <div class=\"cvp-card-meta\">\n                                    <span class=\"cvp-card-meta__duration\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"14\" height=\"14\" style=\"vertical-align: -4px; margin-right: 4px;\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\"\/><\/svg>\n                        82 mins                    <\/span>\n                \n                <span class=\"cvp-card-meta__separator\">|<\/span><span class=\"cvp-card-meta__language\">Vietnamese<\/span>            <\/div>\n        <\/div>\n\n        <!-- Card Footer -->\n        <div class=\"cvp-card-footer\">\n                            <div class=\"cvp-card-instructor\">\n                    <div class=\"cvp-card-instructor__author\">\n                                                    <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/251\/69c56f9ab5b7f-bpthumb.jpg\" \n                                 alt=\"Lam Daniel\" \n                                 class=\"cvp-card-instructor__avatar\"\n                                 loading=\"lazy\" \/>\n                                                <span class=\"cvp-card-instructor__name\">Lam Daniel<\/span>\n                    <\/div>\n                                    <\/div>\n            \n                            <div class=\"cvp-card-footer-rating\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"#eab308\" width=\"14\" height=\"14\" style=\"flex-shrink:0;\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg>\n                    <span>5.0<\/span>\n                <\/div>\n            \n                            <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-4-teaching-spelling-that-sticks-lessons-from-the-classrooms\/?video=35851\" \n                   class=\"cvp-card-watch-btn trigger-video-ajax\"\n                   data-video-id=\"35851\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" class=\"cvp-icon-play\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#d97706\"\/><path d=\"M10 8l6 4-6 4V8z\" fill=\"white\"\/><\/svg>                    Start Watching                <\/a>\n                    <\/div>\n    <\/div>\n        <div class=\"cvp-video-card cvp-card-clickable cvp-card-unlocked\" \n         id=\"cvp-video-35619\"\n         data-video-id=\"35619\"\n         data-video-link=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-3-music-as-a-tool-in-the-english-classroom\/?video=35619\"\n         data-has-access=\"1\"\n         style=\"cursor: pointer;\">\n        <!-- Card Header with Gradient\/Image -->\n        <div class=\"cvp-card-header \" \n             style=\"background-image: url('https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2026\/06\/2aoboqbkdqs7disvnsir2zdzhcfqtqdqbpanufei-scaled.jpg');\">\n            \n            \n                            <div class=\"cvp-card-duration-overlay\">57 mins<\/div>\n            \n                    <\/div>\n\n        <!-- Card Body -->\n        <div class=\"cvp-card-body\">\n                            <div class=\"cvp-card-mobile-meta\">\n                                            <span class=\"cvp-card-mobile-meta__type\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                                                        <\/div>\n            \n            <!-- Top Row: Badge + Actions -->\n            <div class=\"cvp-card-body__top\">\n                <span class=\"cvp-card-badge\" style=\"background: #38b6ff; color: #ffffff; border-color: #38b6ff;\">Workshop Recording<\/span>\n                \n                <div class=\"cvp-card-actions\">\n                                        \n                                        <div class=\"cvp-card-rating-mini\">\n                        <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.53.31.png\" alt=\"star\" \/>\n                        <span>5.0<\/span>\n                    <\/div>\n                                        \n                                        \n                    <div class=\"cvp-tooltip-wrapper\">\n                        <button type=\"button\" \n                                class=\"share-button\"\n                                data-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35619\"\n                                data-title=\"HTA Teacher Kickoff #3 Music as a Tool in the English Classroom\"\n                                aria-label=\"Share\">\n                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/copy.png\" alt=\"Share\" style=\"width: 24px; height: 24px;\">                        <\/button>\n                        <span class=\"cvp-tooltip hover-toast\">Share<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Title row with 3-dot menu on mobile -->\n            <div class=\"cvp-card-title-row\">\n                <h3 class=\"cvp-card-body__title\">\n                    <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-3-music-as-a-tool-in-the-english-classroom\/?video=35619\" \n                       class=\"trigger-video-ajax\"\n                       data-video-id=\"35619\">\n                        HTA Teacher Kickoff #3 Music as a Tool in the English Classroom                    <\/a>\n                <\/h3>\n                <button type=\"button\" class=\"cvp-card-more-btn\"\n                        data-video-id=\"35619\"\n                        data-video-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35619\"\n                        data-video-title=\"HTA Teacher Kickoff #3 Music as a Tool in the English Classroom\"\n                        data-fav-status=\"not_favorite\"\n                        aria-label=\"More options\">\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"5\" r=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><circle cx=\"12\" cy=\"19\" r=\"2\"\/><\/svg>\n                <\/button>\n            <\/div>\n\n            <!-- Meta Row -->\n            <div class=\"cvp-card-meta\">\n                                    <span class=\"cvp-card-meta__duration\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"14\" height=\"14\" style=\"vertical-align: -4px; margin-right: 4px;\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\"\/><\/svg>\n                        57 mins                    <\/span>\n                \n                <span class=\"cvp-card-meta__separator\">|<\/span><span class=\"cvp-card-meta__language\">Vietnamese<\/span>            <\/div>\n        <\/div>\n\n        <!-- Card Footer -->\n        <div class=\"cvp-card-footer\">\n                            <div class=\"cvp-card-instructor\">\n                    <div class=\"cvp-card-instructor__author\">\n                                                    <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/251\/69c56f9ab5b7f-bpthumb.jpg\" \n                                 alt=\"Lam Daniel\" \n                                 class=\"cvp-card-instructor__avatar\"\n                                 loading=\"lazy\" \/>\n                                                <span class=\"cvp-card-instructor__name\">Lam Daniel<\/span>\n                    <\/div>\n                                    <\/div>\n            \n                            <div class=\"cvp-card-footer-rating\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"#eab308\" width=\"14\" height=\"14\" style=\"flex-shrink:0;\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg>\n                    <span>5.0<\/span>\n                <\/div>\n            \n                            <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff-3-music-as-a-tool-in-the-english-classroom\/?video=35619\" \n                   class=\"cvp-card-watch-btn trigger-video-ajax\"\n                   data-video-id=\"35619\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" class=\"cvp-icon-play\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#d97706\"\/><path d=\"M10 8l6 4-6 4V8z\" fill=\"white\"\/><\/svg>                    Start Watching                <\/a>\n                    <\/div>\n    <\/div>\n        <div class=\"cvp-video-card cvp-card-clickable cvp-card-unlocked\" \n         id=\"cvp-video-35582\"\n         data-video-id=\"35582\"\n         data-video-link=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff2-break-the-pronunciation-loop\/?video=35582\"\n         data-has-access=\"1\"\n         style=\"cursor: pointer;\">\n        <!-- Card Header with Gradient\/Image -->\n        <div class=\"cvp-card-header \" \n             style=\"background-image: url('https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2026\/05\/704811779_2008952283040057_2819955363359178339_n.jpg');\">\n            \n            \n                            <div class=\"cvp-card-duration-overlay\">60 mins<\/div>\n            \n                    <\/div>\n\n        <!-- Card Body -->\n        <div class=\"cvp-card-body\">\n                            <div class=\"cvp-card-mobile-meta\">\n                                            <span class=\"cvp-card-mobile-meta__type\" style=\"background: #dbeafe; color: #2563eb; border-color: #bfdbfe;\">Activity Video<\/span>\n                                                        <\/div>\n            \n            <!-- Top Row: Badge + Actions -->\n            <div class=\"cvp-card-body__top\">\n                <span class=\"cvp-card-badge\" style=\"background: #dbeafe; color: #2563eb; border-color: #bfdbfe;\">Activity Video<\/span>\n                \n                <div class=\"cvp-card-actions\">\n                                        \n                                        <div class=\"cvp-card-rating-mini\">\n                        <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/screenshot-2025-08-02-at-00.53.31.png\" alt=\"star\" \/>\n                        <span>5.0<\/span>\n                    <\/div>\n                                        \n                                        \n                    <div class=\"cvp-tooltip-wrapper\">\n                        <button type=\"button\" \n                                class=\"share-button\"\n                                data-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35582\"\n                                data-title=\"HTA Teacher Kickoff#2 \u2013 Break the pronunciation loop\"\n                                aria-label=\"Share\">\n                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/2025\/08\/copy.png\" alt=\"Share\" style=\"width: 24px; height: 24px;\">                        <\/button>\n                        <span class=\"cvp-tooltip hover-toast\">Share<\/span>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Title row with 3-dot menu on mobile -->\n            <div class=\"cvp-card-title-row\">\n                <h3 class=\"cvp-card-body__title\">\n                    <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff2-break-the-pronunciation-loop\/?video=35582\" \n                       class=\"trigger-video-ajax\"\n                       data-video-id=\"35582\">\n                        HTA Teacher Kickoff#2 \u2013 Break the pronunciation loop                    <\/a>\n                <\/h3>\n                <button type=\"button\" class=\"cvp-card-more-btn\"\n                        data-video-id=\"35582\"\n                        data-video-link=\"https:\/\/happyteachersacademy.com\/community\/?video=35582\"\n                        data-video-title=\"HTA Teacher Kickoff#2 \u2013 Break the pronunciation loop\"\n                        data-fav-status=\"not_favorite\"\n                        aria-label=\"More options\">\n                    <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><circle cx=\"12\" cy=\"5\" r=\"2\"\/><circle cx=\"12\" cy=\"12\" r=\"2\"\/><circle cx=\"12\" cy=\"19\" r=\"2\"\/><\/svg>\n                <\/button>\n            <\/div>\n\n            <!-- Meta Row -->\n            <div class=\"cvp-card-meta\">\n                                    <span class=\"cvp-card-meta__duration\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" width=\"14\" height=\"14\" style=\"vertical-align: -4px; margin-right: 4px;\"><path d=\"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67V7z\"\/><\/svg>\n                        60 mins                    <\/span>\n                \n                <span class=\"cvp-card-meta__separator\">|<\/span><span class=\"cvp-card-meta__language\">Vietnamese<\/span>            <\/div>\n        <\/div>\n\n        <!-- Card Footer -->\n        <div class=\"cvp-card-footer\">\n                            <div class=\"cvp-card-instructor cvp-card-instructor--multi\">\n                    <div class=\"cvp-card-instructor__author\">\n                                                    <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/251\/69c56f9ab5b7f-bpthumb.jpg\" \n                                 alt=\"Lam Daniel\" \n                                 class=\"cvp-card-instructor__avatar\"\n                                 loading=\"lazy\" \/>\n                                                <span class=\"cvp-card-instructor__name\">Lam Daniel<\/span>\n                    <\/div>\n                                            <div class=\"cvp-card-instructor__divider\"><\/div>\n                        <div class=\"cvp-card-instructor__author\">\n                                                            <img decoding=\"async\" src=\"https:\/\/happyteachersacademy.com\/community\/wp-content\/uploads\/sites\/2\/avatars\/144\/680ef495b3e64-bpthumb.jpg\" \n                                     alt=\"Hi\u1ec1n \u0110inh\" \n                                     class=\"cvp-card-instructor__avatar\"\n                                     loading=\"lazy\" \/>\n                                                        <span class=\"cvp-card-instructor__name\">Hi\u1ec1n \u0110inh<\/span>\n                        <\/div>\n                                    <\/div>\n            \n                            <div class=\"cvp-card-footer-rating\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"#eab308\" width=\"14\" height=\"14\" style=\"flex-shrink:0;\"><path d=\"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z\"\/><\/svg>\n                    <span>5.0<\/span>\n                <\/div>\n            \n                            <a href=\"https:\/\/happyteachersacademy.com\/community\/video-resources\/hta-teacher-kickoff2-break-the-pronunciation-loop\/?video=35582\" \n                   class=\"cvp-card-watch-btn trigger-video-ajax\"\n                   data-video-id=\"35582\">\n                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" class=\"cvp-icon-play\"><circle cx=\"12\" cy=\"12\" r=\"12\" fill=\"#d97706\"\/><path d=\"M10 8l6 4-6 4V8z\" fill=\"white\"\/><\/svg>                    Start Watching                <\/a>\n                    <\/div>\n    <\/div>\n    <span class=\"cvp-initial-found-posts\" data-found-posts=\"318\" style=\"display:none;\"><\/span>                <\/div>\n                <div class=\"cvp-load-more-container\" style=\"text-align:center; padding: 24px 0;\">\n                    <button type=\"button\" class=\"cvp-load-more-btn\">\n                        <span class=\"cvp-load-more-label\">Load More<\/span>\n                        <span class=\"cvp-load-more-spinner\" style=\"display:none;\"><span class=\"loader-spinner\"><\/span> Loading...<\/span>\n                    <\/button>\n                <\/div>\n            <\/div>\n                    <div class=\"tab-content \" id=\"twinkl-activities\">\n                <div id=\"videos-grid-twinkl-activities\" class=\"videos-grid\" data-page=\"1\" data-tab=\"twinkl-activities\">\n                                    <\/div>\n                <div class=\"cvp-load-more-container\" style=\"text-align:center; padding: 24px 0;\">\n                    <button type=\"button\" class=\"cvp-load-more-btn\">\n                        <span class=\"cvp-load-more-label\">Load More<\/span>\n                        <span class=\"cvp-load-more-spinner\" style=\"display:none;\"><span class=\"loader-spinner\"><\/span> Loading...<\/span>\n                    <\/button>\n                <\/div>\n            <\/div>\n                    <div class=\"tab-content \" id=\"my-videos\">\n                <div id=\"videos-grid-my-videos\" class=\"videos-grid\" data-page=\"1\" data-tab=\"my-videos\">\n                                    <\/div>\n                <div class=\"cvp-load-more-container\" style=\"text-align:center; padding: 24px 0;\">\n                    <button type=\"button\" class=\"cvp-load-more-btn\">\n                        <span class=\"cvp-load-more-label\">Load More<\/span>\n                        <span class=\"cvp-load-more-spinner\" style=\"display:none;\"><span class=\"loader-spinner\"><\/span> Loading...<\/span>\n                    <\/button>\n                <\/div>\n            <\/div>\n            <\/div>\n        <\/div>\n    <script>\n    (function(){\n        var el = document.querySelector('.cvp-activities-page');\n        if (el) el.classList.add('cvp-ready');\n\n        \/* \u2500\u2500 Sticky mini-player on mobile scroll \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\n        if (window.innerWidth >= 768) return;\n\n        var isSticky = false;\n        var spacer = null;\n        var stickyEl = null;\n        var savedAncestors = [];\n        var filterSticky = false;\n        var filterSpacer = null;\n\n        \/**\n         * BuddyBoss (and some themes) set transform \/ will-change \/ filter \/\n         * perspective on ancestor elements. These create a CSS \"containing block\"\n         * that converts position:fixed into position:absolute relative to that\n         * ancestor instead of the viewport. We temporarily clear them while the\n         * video is pinned and restore them when it un-pins.\n         *\/\n        function clearContainingBlocks(target) {\n            var arr = [];\n            var p = target.parentElement;\n            while (p && p !== document.documentElement) {\n                var cs = getComputedStyle(p);\n                if (cs.transform !== 'none' ||\n                    cs.willChange === 'transform' || cs.willChange === 'perspective' ||\n                    cs.filter !== 'none' ||\n                    cs.perspective !== 'none' ||\n                    (cs.backdropFilter && cs.backdropFilter !== 'none')) {\n                    arr.push({\n                        el: p,\n                        transform: p.style.transform,\n                        willChange: p.style.willChange,\n                        filter: p.style.filter,\n                        perspective: p.style.perspective,\n                        backdropFilter: p.style.backdropFilter || ''\n                    });\n                    p.style.setProperty('transform', 'none', 'important');\n                    p.style.setProperty('will-change', 'auto', 'important');\n                    p.style.setProperty('filter', 'none', 'important');\n                    p.style.setProperty('perspective', 'none', 'important');\n                    p.style.setProperty('backdrop-filter', 'none', 'important');\n                }\n                p = p.parentElement;\n            }\n            return arr;\n        }\n\n        function restoreAncestors(arr) {\n            for (var i = 0; i < arr.length; i++) {\n                var o = arr[i];\n                o.el.style.transform = o.transform;\n                o.el.style.willChange = o.willChange;\n                o.el.style.filter = o.filter;\n                o.el.style.perspective = o.perspective;\n                o.el.style.backdropFilter = o.backdropFilter;\n            }\n        }\n\n        function onScroll() {\n            \/* Re-query every tick: AJAX replaces the DOM element *\/\n            var videoArea = document.querySelector('.cvp-single-video-area');\n            var filtersEl = document.querySelector('.cvp-filters-section');\n            if (!videoArea) { cleanup(); return; }\n\n            \/* Detect AJAX-replaced element: old reference is no longer in document *\/\n            if (isSticky && stickyEl && !document.body.contains(stickyEl)) {\n                cleanup();\n            }\n\n            if (isSticky) {\n                \/* Un-pin when spacer scrolls back into view *\/\n                if (spacer && spacer.getBoundingClientRect().top >= 0) {\n                    videoArea.classList.remove('cvp-is-sticky');\n                    videoArea.style.left = '';\n                    videoArea.style.width = '';\n                    videoArea.style.height = '';\n                    restoreAncestors(savedAncestors);\n                    savedAncestors = [];\n                    if (spacer.parentNode) spacer.parentNode.removeChild(spacer);\n                    spacer = null;\n                    stickyEl = null;\n                    isSticky = false;\n                    \/* Also un-pin filters *\/\n                    unpinFilters(filtersEl);\n                }\n            } else {\n                \/* Pin when the video area's TOP reaches the viewport top *\/\n                var rect = videoArea.getBoundingClientRect();\n                if (rect.top <= 0) {\n                    spacer = document.createElement('div');\n                    spacer.className = 'cvp-sticky-spacer';\n                    spacer.style.height = rect.height + 'px';\n                    videoArea.parentNode.insertBefore(spacer, videoArea);\n\n                    \/* Lock to original position & dimensions so nothing shifts *\/\n                    videoArea.style.left = rect.left + 'px';\n                    videoArea.style.width = rect.width + 'px';\n                    videoArea.style.height = rect.height + 'px';\n\n                    savedAncestors = clearContainingBlocks(videoArea);\n                    videoArea.classList.add('cvp-is-sticky');\n                    stickyEl = videoArea;\n                    isSticky = true;\n                    console.log('[CVP Sticky] Pinned \u2013 cleared', savedAncestors.length, 'ancestor(s)');\n                }\n            }\n\n            \/* \u2500\u2500 Sticky filter bar (pins right below the sticky video) \u2500\u2500 *\/\n            if (filtersEl && isSticky && videoArea) {\n                if (!filterSticky) {\n                    var fRect = filterSpacer\n                        ? filterSpacer.getBoundingClientRect()\n                        : filtersEl.getBoundingClientRect();\n                    var videoH = videoArea.getBoundingClientRect().height;\n                    if (fRect.top <= videoH) {\n                        filterSpacer = document.createElement('div');\n                        filterSpacer.className = 'cvp-filters-sticky-spacer';\n                        filterSpacer.style.height = filtersEl.offsetHeight + 'px';\n                        filtersEl.parentNode.insertBefore(filterSpacer, filtersEl);\n                        filtersEl.classList.add('cvp-filters-sticky');\n                        filtersEl.style.top = videoH + 'px';\n                        filterSticky = true;\n                    }\n                } else {\n                    \/* Un-pin filter when its spacer scrolls back *\/\n                    if (filterSpacer) {\n                        var videoH2 = videoArea.getBoundingClientRect().height;\n                        if (filterSpacer.getBoundingClientRect().top > videoH2) {\n                            unpinFilters(filtersEl);\n                        }\n                    }\n                }\n            } else if (filterSticky && !isSticky) {\n                unpinFilters(filtersEl);\n            }\n        }\n\n        function unpinFilters(filtersEl) {\n            if (filtersEl) filtersEl.classList.remove('cvp-filters-sticky');\n            if (filtersEl) filtersEl.style.top = '';\n            if (filterSpacer && filterSpacer.parentNode) filterSpacer.parentNode.removeChild(filterSpacer);\n            filterSpacer = null;\n            filterSticky = false;\n        }\n\n        function cleanup() {\n            if (stickyEl) {\n                stickyEl.classList.remove('cvp-is-sticky');\n                stickyEl.style.left = '';\n                stickyEl.style.width = '';\n                stickyEl.style.height = '';\n            }\n            restoreAncestors(savedAncestors);\n            savedAncestors = [];\n            if (spacer && spacer.parentNode) spacer.parentNode.removeChild(spacer);\n            spacer = null;\n            stickyEl = null;\n            isSticky = false;\n            unpinFilters(document.querySelector('.cvp-filters-section'));\n        }\n\n        document.addEventListener('cvp:videoLoaded', cleanup);\n        window.addEventListener('scroll', onScroll, { passive: true });\n        console.log('[CVP Sticky] Initialized \u2013 mobile mode');\n    })();\n    <\/script>\n    \n\n\n\n<div style=\"position: fixed; top: -4568px; left: -4039px;\"><p>Het succesgeheim van <a href='https:\/\/spinmama-nl.com'>spinmama<\/a> ligt in een duidelijke afstemming op werkelijke spelersinteresses. Gedetailleerde uitleg bij elke betaalmethode is in de helpsectie beschikbaar. Het registratieproces omvat slechts enkele noodzakelijke stappen en is binnen minuten klaar. E-mailaanvragen worden in de regel binnen 24 uur verwerkt. Live roulettetafels bieden verschillende spelvarianten, van klassiek Europees tot Lightning Roulette. Twee-factor-authenticatie verhoogt de bescherming tegen onbevoegde accounttoegang. Affiliateprogramma&#8217;s geven spelers de mogelijkheid andere gebruikers te werven. De indeling in themacategorie\u00ebn maakt het makkelijker om snel het juiste spel te vinden. Touch-bediening en intu\u00eftieve menu&#8217;s zorgen voor een prettige mobiele speelervaring. Mystery-boxen met verrassingen worden regelmatig in het aanbod opgenomen. Het geheel is coherent en nodigt uit tot een uitgebreide test.<\/p><\/div>\n\n\n\n<div style=\"position: fixed; top: -4568px; left: -4039px;\"><p>Wie al veel platforms heeft uitgeprobeerd, herkent bij <a href='https:\/\/corgislot-casino.net'>corgislot app<\/a> snel de professionele aanpak. Random number generators worden regelmatig gecertificeerd door onafhankelijke instanties zoals eCOGRA. Het platform is consequent gericht op een intu\u00eftieve gebruikerservaring. Liefhebbers van jackpotspellen vinden een breed aanbod progressieve slots met soms zevencijferige prijzen. Met questsystemen worden bepaalde speeldoelen beloond, wat de speelroutine extra structuur geeft. Het platform toont een Hall of Fame met de grootste winnaars van de afgelopen weken. De mobiele versie van het casino draait direct in de browser, een aparte app hoeft niet te worden ge\u00efnstalleerd. Paysafecard maakt anonieme stortingen mogelijk zonder het opgeven van gevoelige bankgegevens. De klantenservice gebruikt een intern ticketsysteem, waardoor alle vragen l\u00fcckenlos gedocumenteerd worden. Het casino bewijst dat moderne gokplatformen meer kunnen bieden dan alleen gokkasten.<\/p><\/div>\n\n\n\n<div style=\"position: fixed; top: -4568px; left: -4039px;\"><p>Wie zich tegenwoordig ori\u00ebnteert in de wereld van online gokken, komt vroeg of laat <a href='https:\/\/trueluck-casino-online.com'>https:\/\/trueluck-casino-online.com\/<\/a> tegen met zijn veelzijdige aanbod. Het supportteam reageert op bonusproblemen meestal direct en zonder onnodige vertraging. Een ge\u00efntegreerde blog publiceert regelmatig artikelen over trends in de branche en speltheorie. Toernooien met aantrekkelijke prijzenpotten vinden maandelijks plaats en versterken de community. Sofort-uitbetalingen zijn voor geverifieerde VIP-spelers een bijzondere servicecomponent. De live chat maakt directe communicatie met dealers en medespelers mogelijk. Bonusvoorwaarden zijn duidelijk geformuleerd en bevatten geen verborgen clausules. Het persoonlijke dashboard bundelt speelhistorie, bonusoverzicht en saldo op \u00e9\u00e9n plek. Mobiele spellen zijn door de ontwikkelaars specifiek voor touch-bediening geoptimaliseerd. Geanimeerde 3D-slots met hoogwaardige graphics zetten visueel nieuwe normen. De zorgvuldigheid in de uitvoering toont zich in elk afzonderlijk detail van het platform.<\/p><\/div>\n\n\n<div style=\"overflow: hidden; height: 1px; width: 1px;\"><h2>The Rising Star of UK Online Casinos: Gambiva<\/h2>\n<p>Gambiva Casino is carving out a name for itself in the competitive UK online casino market. With a focus on quality games and player satisfaction, it offers a premium gaming experience. Players can enjoy their favourite games in GBP, with no hidden fees or complicated currency conversions.<\/p>\n<p>What truly makes Gambiva shine is its combination of entertainment and security. The casino&#8217;s use of cutting-edge technology ensures fair play, while its generous bonuses keep players coming back. Many UK gamblers <a href=\"https:\/\/gambiva.it.com\/\">gambiva sign up<\/a> consider it one of the best options available today.<\/p><\/div>","protected":false},"excerpt":{"rendered":"<p>Actualit\u00e9s r\u00e9centes 468 73 1020 78 431 15 446 87 347 81 1321 15 1049 1 957 99 10 47 48 34 1118 62 99&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"class_list":["post-32204","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/pages\/32204","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/comments?post=32204"}],"version-history":[{"count":9,"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/pages\/32204\/revisions"}],"predecessor-version":[{"id":39030,"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/pages\/32204\/revisions\/39030"}],"wp:attachment":[{"href":"https:\/\/happyteachersacademy.com\/community\/wp-json\/wp\/v2\/media?parent=32204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}