Khóa học #1 về Data Analytics cho người mới

Data Analytics 101
for Everyone

Bạn có phù hợp với Data Analytics? Khám phá con đường phân tích dữ liệu trong 13 giờ - không cần kinh nghiệm, chỉ cần sự tò mò.

1,150+ Học viên đã tham gia
4.5★ Đánh giá từ 110 review
100+ Video bài giảng
Video giới thiệu khóa Data Analytics 101
Học trọn đời - Truy cập vĩnh viễn
Lộ trình tinh gọn cho người mới
Update miễn phí nội dung mới
/* =========================== COLOR TOKENS - DA101 Green Theme =========================== */ .da101-hero-section, .da101-trust-bar, .et-db.et-db.et-db #et-boc .et-l /* =========================== COLOR TOKENS - DA101 Green Theme =========================== */ .da101-hero-section, .et-db.et-db.et-db #et-boc .et-l .da101-trust-bar{ --da-primary: #10B981; --da-primary-dark: #059669; --da-primary-light: #34D399; --da-amber: #F59E0B; --da-amber-dark: #D97706; --da-bg-gradient: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 50%, #FFFFFF 100%); --da-sale-gradient: linear-gradient(135deg, #FF4500 0%, #FF6347 100%); } /* =========================== CRITICAL CSS - Override Divi =========================== */ .da101-hero-section, .da101-hero-section *, .da101-trust-bar, .da101-trust-bar *, .et-db.et-db.et-db #et-boc .et-l /* =========================== CRITICAL CSS - Override Divi =========================== */ .da101-hero-section, .et-db.et-db.et-db #et-boc .et-l .da101-hero-section *, .et-db.et-db.et-db #et-boc .et-l .da101-trust-bar, .et-db.et-db.et-db #et-boc .et-l .da101-trust-bar *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } /* =========================== HERO SECTION =========================== */ .da101-hero-section, .et-db.et-db.et-db #et-boc .et-l /* =========================== HERO SECTION =========================== */ .da101-hero-section{ background: var(--da-bg-gradient); padding: 50px 0 50px; position: relative; overflow: hidden; opacity: 0; animation: da101FadeInHero 0.8s ease-out 0.2s forwards; } @keyframes da101FadeInHero { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .da101-hero-bg-pattern, .et-db.et-db.et-db #et-boc .et-l .da101-hero-bg-pattern{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.03%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; } .da101-hero-container, .et-db.et-db.et-db #et-boc .et-l .da101-hero-container{ width: 85%; margin: 0 auto; position: relative; z-index: 2; } .da101-hero-content, .et-db.et-db.et-db #et-boc .et-l .da101-hero-content{ display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; } /* =========================== LEFT CONTENT =========================== */ .da101-hero-left, .et-db.et-db.et-db #et-boc .et-l /* =========================== LEFT CONTENT =========================== */ .da101-hero-left{ opacity: 0; animation: da101FadeInLeft 0.8s ease-out 0.4s forwards; } @keyframes da101FadeInLeft { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } } /* =========================== BADGE WITH STAR ICON - AMBER ACCENT =========================== */ .da101-hero-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(245, 158, 11, 0.10); padding: 9px 18px; border-radius: 100px; font-size: 14px; font-weight: 700; color: var(--da-amber-dark); margin-bottom: 24px; }.et-db.et-db.et-db #et-boc .et-l /* =========================== BADGE WITH STAR ICON - AMBER ACCENT =========================== */ .da101-hero-badge{ display: inline-flex; align-items: center; gap: 8px; background: rgba(245, 158, 11, 0.10); padding: 9px 18px; border-radius: 100px; font-size: 14px; font-weight: 700; color: var(--da-amber-dark) !important; margin-bottom: 24px; } .badge-icon{ width: 16px; height: 16px; color: var(--da-amber); }.et-db.et-db.et-db #et-boc .et-l .badge-icon{ width: 16px; height: 16px; color: var(--da-amber) !important; } .da101-hero-title{ font-size: 56px !important; font-weight: 800; color: #0F172A; line-height: 1.2; letter-spacing: -0.02em; margin: 0 0 24px 0; }.et-db.et-db.et-db #et-boc .et-l .da101-hero-title{ font-size: 56px !important; font-weight: 800; color: #0F172A !important; line-height: 1.2; letter-spacing: -0.02em; margin: 0 0 24px 0; } .da101-hero-highlight, .et-db.et-db.et-db #et-boc .et-l .da101-hero-highlight{ background: linear-gradient(135deg, var(--da-primary) 0%, var(--da-primary-dark) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .da101-hero-subtitle{ font-size: 20px; font-weight: 0; color: #475569; line-height: 1.65; margin: 0 0 32px 0; }.et-db.et-db.et-db #et-boc .et-l .da101-hero-subtitle{ font-size: 20px; font-weight: 0; color: #475569 !important; line-height: 1.65; margin: 0 0 32px 0; } /* =========================== CTA BUTTONS =========================== */ .da101-hero-cta-buttons, .et-db.et-db.et-db #et-boc .et-l /* =========================== CTA BUTTONS =========================== */ .da101-hero-cta-buttons{ display: flex; gap: 16px; margin-bottom: 40px; align-items: stretch; } .cta-wrapper, .et-db.et-db.et-db #et-boc .et-l .cta-wrapper{ position: relative; display: inline-block; } .da101-btn-primary, .da101-btn-secondary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-primary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-secondary{ padding: 16px 32px; font-size: 18px; font-weight: 700; border-radius: 12px; text-decoration: none; transition: all 0.3s ease; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; min-height: 80px; } .da101-btn-primary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-primary{ background: linear-gradient(135deg, var(--da-primary) 0%, var(--da-primary-dark) 100%); color: white !important; box-shadow: 0 4px 16px rgba(16, 185, 129, 0.3); gap: 4px; line-height: 1.3; } .da101-btn-primary:hover, .et-db.et-db.et-db #et-boc .et-l .da101-btn-primary:hover{ transform: translateY(-3px); box-shadow: 0 8px 24px rgba(16, 185, 129, 0.4); } .cta-main-text, .et-db.et-db.et-db #et-boc .et-l .cta-main-text{ font-size: 18px; font-weight: 700; } /* UPDATED SALE BADGE */ .sale-badge, .et-db.et-db.et-db #et-boc .et-l /* UPDATED SALE BADGE */ .sale-badge{ display: inline-block; background: var(--da-sale-gradient); color: white !important; font-size: 14px; font-weight: 800; padding: 8px 18px; border-radius: 24px; box-shadow: 0 4px 16px rgba(255, 69, 0, 0.4); animation: salePulse 2s ease-in-out infinite; border: 2px solid rgba(255, 255, 255, 0.3); letter-spacing: 0.5px; margin-bottom: 16px; } .price-line, .et-db.et-db.et-db #et-boc .et-l .price-line{ display: flex; align-items: center; gap: 10px; font-size: 16px; } .price-original, .et-db.et-db.et-db #et-boc .et-l .price-original{ text-decoration: line-through; opacity: 0.7; font-weight: 500; font-size: 15px; } .price-sale, .et-db.et-db.et-db #et-boc .et-l .price-sale{ font-size: 20px; font-weight: 800; } .da101-btn-secondary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-secondary{ background: white; color: var(--da-primary-dark) !important; border: 2px solid var(--da-primary); } .da101-btn-secondary:hover, .et-db.et-db.et-db #et-boc .et-l .da101-btn-secondary:hover{ background: rgba(16, 185, 129, 0.05); transform: translateY(-3px); } /* =========================== HERO STATS =========================== */ .da101-hero-stats, .et-db.et-db.et-db #et-boc .et-l /* =========================== HERO STATS =========================== */ .da101-hero-stats{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; padding-top: 24px; } .da101-stat-item, .et-db.et-db.et-db #et-boc .et-l .da101-stat-item{ display: flex; flex-direction: column; gap: 4px; } .da101-stat-number{ font-size: 32px; font-weight: 800; color: var(--da-primary); display: block; line-height: 1; }.et-db.et-db.et-db #et-boc .et-l .da101-stat-number{ font-size: 32px; font-weight: 800; color: var(--da-primary) !important; display: block; line-height: 1; } .da101-stat-label{ font-size: 14px; font-weight: 600; color: #64748B; line-height: 1.4; }.et-db.et-db.et-db #et-boc .et-l .da101-stat-label{ font-size: 14px; font-weight: 600; color: #64748B !important; line-height: 1.4; } /* =========================== RIGHT CONTENT - VIDEO =========================== */ .da101-hero-right, .et-db.et-db.et-db #et-boc .et-l /* =========================== RIGHT CONTENT - VIDEO =========================== */ .da101-hero-right{ opacity: 0; animation: da101FadeInRight 0.8s ease-out 0.6s forwards; } @keyframes da101FadeInRight { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } } /* =========================== MEDIA SECTION =========================== */ .data-video-wrapper, .et-db.et-db.et-db #et-boc .et-l /* =========================== MEDIA SECTION =========================== */ .data-video-wrapper{ position: relative; width: 100%; padding-bottom: 56.25%; background: #F1F5F9; border-radius: 16px; overflow: hidden; } .data-video-container, .et-db.et-db.et-db #et-boc .et-l .data-video-container{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; border-radius: 16px; overflow: hidden; cursor: pointer; } .data-video-thumbnail, .et-db.et-db.et-db #et-boc .et-l .data-video-thumbnail{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: opacity 0.3s ease; } .data-video-thumbnail img, .et-db.et-db.et-db #et-boc .et-l .data-video-thumbnail img{ width: 100%; height: 100%; object-fit: cover; } .data-play-button, .et-db.et-db.et-db #et-boc .et-l .data-play-button{ position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: none; border: none; cursor: pointer; transition: transform 0.3s ease; padding: 0; z-index: 10; } .data-play-button:hover, .et-db.et-db.et-db #et-boc .et-l .data-play-button:hover{ transform: translate(-50%, -50%) scale(1.1); } .data-play-button svg, .et-db.et-db.et-db #et-boc .et-l .data-play-button svg{ filter: drop-shadow(0 4px 8px rgba(0,0,0,0.3)); } .data-video-container.playing iframe, .et-db.et-db.et-db #et-boc .et-l .data-video-container.playing iframe{ position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: none; } .data-video-container.playing .data-video-thumbnail, .et-db.et-db.et-db #et-boc .et-l .data-video-container.playing .data-video-thumbnail{ display: none; } /* =========================== TRUST BAR - SVG ICONS =========================== */ .da101-trust-bar, .et-db.et-db.et-db #et-boc .et-l /* =========================== TRUST BAR - SVG ICONS =========================== */ .da101-trust-bar{ background: white; padding: 32px 0; border-top: 2px solid #F1F5F9; border-bottom: 2px solid #F1F5F9; opacity: 0; animation: da101FadeInHero 0.8s ease-out 0.8s forwards; } .da101-trust-container, .et-db.et-db.et-db #et-boc .et-l .da101-trust-container{ width: 85%; margin: 0 auto; } .da101-trust-items, .et-db.et-db.et-db #et-boc .et-l .da101-trust-items{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; } .da101-trust-item, .et-db.et-db.et-db #et-boc .et-l .da101-trust-item{ display: flex; align-items: center; gap: 12px; justify-content: center; } .da101-trust-icon, .et-db.et-db.et-db #et-boc .et-l .da101-trust-icon{ width: 28px; height: 28px; background: var(--da-primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .da101-trust-icon svg{ width: 14px; height: 14px; color: white; fill: white; }.et-db.et-db.et-db #et-boc .et-l .da101-trust-icon svg{ width: 14px; height: 14px; color: white !important; fill: white; } .da101-trust-item span{ font-size: 15px; font-weight: 600; color: #1E293B; }.et-db.et-db.et-db #et-boc .et-l .da101-trust-item span{ font-size: 15px; font-weight: 600; color: #1E293B !important; } /* =========================== RESPONSIVE =========================== */ @media (max-width: 1200px), .et-db.et-db.et-db #et-boc .et-l /* =========================== RESPONSIVE =========================== */ @media (max-width: 1200px){ .da101-trust-items { grid-template-columns: repeat(3, 1fr); gap: 24px; } } @media (max-width: 1024px) { .da101-hero-container, .da101-trust-container, .et-db.et-db.et-db #et-boc .et-l .da101-hero-container, .et-db.et-db.et-db #et-boc .et-l .da101-trust-container{ width: 90%; } .da101-hero-title, .et-db.et-db.et-db #et-boc .et-l .da101-hero-title{ font-size: 40px !important; } .da101-hero-content, .et-db.et-db.et-db #et-boc .et-l .da101-hero-content{ gap: 40px; }} @media (max-width: 768px) { .da101-hero-container, .da101-trust-container, .et-db.et-db.et-db #et-boc .et-l .da101-hero-container, .et-db.et-db.et-db #et-boc .et-l .da101-trust-container{ width: 90%; } .da101-hero-content, .et-db.et-db.et-db #et-boc .et-l .da101-hero-content{ grid-template-columns: 1fr; gap: 40px; } .da101-hero-right, .et-db.et-db.et-db #et-boc .et-l .da101-hero-right{ display: none; } .da101-hero-cta-buttons, .et-db.et-db.et-db #et-boc .et-l .da101-hero-cta-buttons{ flex-direction: column; } .da101-btn-primary, .da101-btn-secondary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-primary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-secondary{ width: 100%; text-align: center; } .da101-hero-title, .et-db.et-db.et-db #et-boc .et-l .da101-hero-title{ font-size: 36px !important; } .da101-hero-subtitle, .et-db.et-db.et-db #et-boc .et-l .da101-hero-subtitle{ font-size: 16px; } .da101-trust-items, .et-db.et-db.et-db #et-boc .et-l .da101-trust-items{ grid-template-columns: 1fr; gap: 20px; } .da101-trust-item, .et-db.et-db.et-db #et-boc .et-l .da101-trust-item{ justify-content: flex-start; } .da101-hero-stats, .et-db.et-db.et-db #et-boc .et-l .da101-hero-stats{ grid-template-columns: 1fr; text-align: center; } .da101-stat-item, .et-db.et-db.et-db #et-boc .et-l .da101-stat-item{ text-align: center; }} @media (max-width: 480px) { .da101-hero-container, .da101-trust-container, .et-db.et-db.et-db #et-boc .et-l .da101-hero-container, .et-db.et-db.et-db #et-boc .et-l .da101-trust-container{ width: 90%; } .da101-hero-badge, .et-db.et-db.et-db #et-boc .et-l .da101-hero-badge{ font-size: 12px; padding: 8px 16px; } .badge-icon, .et-db.et-db.et-db #et-boc .et-l .badge-icon{ width: 14px; height: 14px; } .da101-hero-title, .et-db.et-db.et-db #et-boc .et-l .da101-hero-title{ font-size: 32px !important; } .da101-hero-subtitle, .et-db.et-db.et-db #et-boc .et-l .da101-hero-subtitle{ font-size: 16px; } .da101-btn-primary, .da101-btn-secondary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-primary, .et-db.et-db.et-db #et-boc .et-l .da101-btn-secondary{ padding: 14px 24px; font-size: 16px; } .price-sale, .et-db.et-db.et-db #et-boc .et-l .price-sale{ font-size: 18px; } .da101-trust-icon, .et-db.et-db.et-db #et-boc .et-l .da101-trust-icon{ width: 24px; height: 24px; } .da101-trust-icon svg, .et-db.et-db.et-db #et-boc .et-l .da101-trust-icon svg{ width: 12px; height: 12px; } .da101-trust-item span, .et-db.et-db.et-db #et-boc .et-l .da101-trust-item span{ font-size: 14px; }} (function () { // =========================== // HERO VIDEO: autoplay muted when scrolled into view; click = play with sound // =========================== var containers = [].slice.call(document.querySelectorAll('.data-video-container')); function buildSrc(id, muted) { return 'https://www.youtube.com/embed/' + id + '?autoplay=1&rel=0&modestbranding=1&playsinline=1&controls=1&mute=' + (muted ? '1' : '0'); } function play(container, muted) { var id = container.getAttribute('data-video-id'); if (!id) return; var iframe = container.querySelector('iframe'); if (iframe) { iframe.src = buildSrc(id, muted); } else { iframe = document.createElement('iframe'); iframe.src = buildSrc(id, muted); iframe.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'; iframe.allowFullscreen = true; iframe.frameBorder = '0'; iframe.referrerPolicy = 'strict-origin-when-cross-origin'; container.appendChild(iframe); } container.classList.add('playing'); } // Click the poster -> play WITH sound (user gesture allows unmuted) containers.forEach(function (c) { c.addEventListener('click', function () { play(c, false); }); }); // Autoplay (muted) when the hero video scrolls into view var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (!reduce && 'IntersectionObserver' in window) { var io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { if (!en.target.classList.contains('playing')) play(en.target, true); io.unobserve(en.target); } }); }, { threshold: 0.4 }); containers.forEach(function (c) { io.observe(c); }); } // =========================== // SMOOTH SCROLL FOR CTA // =========================== var ctaButtons = document.querySelectorAll('.da101-btn-primary, .da101-btn-secondary'); ctaButtons.forEach(function (button) { button.addEventListener('click', function (e) { var href = this.getAttribute('href'); if (href && href.charAt(0) === '#') { e.preventDefault(); var target = document.querySelector(href); if (target) { window.scrollTo({ top: target.offsetTop - 80, behavior: 'smooth' }); } } }); }); })();
HÀNH TRÌNH CỦA BẠN

Bạn đang ở đâu trên hành trình Data Analytics?

Nhiều người quan tâm đến phân tích dữ liệu nhưng không biết bắt đầu từ đâu và liệu mình có phù hợp không

Lộ trình 6 cấp độ để trở thành Data Analyst

1 Bạn đang ở đây
KHÓA 1
Data Analytics 101
2
KHÓA 2
AI-Powered Excel & Google Sheet for Data Analytics
3
KHÓA 3
Analytical Thinking & Data Analysis With Power BI
4
KHÓA 4
AI Agent For Data Analytics & Decision Making
5
KHÓA 5
SQL For Data Analytics
6
KHÓA 6
Python For Data Analytics
Bạn đang gặp những câu hỏi này?
  • Không biết Data Analyst có phù hợp mình không?
  • Không biết học SQL, Python hay Power BI trước
  • Muốn chuyển ngành nhưng mà không có kinh nghiệm
  • Không có lộ trình Data Analytics từ đầu
  • Khóa học giúp bạn:
  • Hiểu rõ vai trò Data Analyst có phù hợp mình
  • Xây dựng nền tảng kiến thức từ 0, từ cơ bản đến nâng cao
  • Thực hành với project thực tế đa dạng lĩnh vực
  • Tự tin bắt đầu hành trình Data Analyst chuyên nghiệp
  • /* =========================== CRITICAL CSS - Override Divi =========================== */ .problem-solution, .problem-solution *, .et-db.et-db.et-db #et-boc .et-l /* =========================== CRITICAL CSS - Override Divi =========================== */ .problem-solution, .et-db.et-db.et-db #et-boc .et-l .problem-solution *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .problem-solution, .et-db.et-db.et-db #et-boc .et-l .problem-solution{ /* DATA ANALYTICS 101 - GREEN COLOR SCHEME */ --primary: #10B981; --primary-dark: #059669; --primary-light: #34D399; --dark: #0F172A; --dark-800: #1E293B; --gray: #64748B; --line-rest: #DCE3EB; --white: #FFFFFF; --accent: #D97706; --gradient-1: linear-gradient(135deg, #10B981 0%, #059669 100%); } /* =========================== BASE SECTION =========================== */ .problem-solution, .et-db.et-db.et-db #et-boc .et-l /* =========================== BASE SECTION =========================== */ .problem-solution{ background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); padding: 68px 0; position: relative; overflow: hidden; } .problem-solution::before, .et-db.et-db.et-db #et-boc .et-l .problem-solution::before{ content: ''; position: absolute; inset: 0; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; z-index: 1; } .problem-solution-container, .et-db.et-db.et-db #et-boc .et-l .problem-solution-container{ width: 85%; margin: 0 auto; position: relative; z-index: 2; } /* =========================== SECTION HEADER =========================== */ .section-header, .et-db.et-db.et-db #et-boc .et-l /* =========================== SECTION HEADER =========================== */ .section-header{ text-align: center; max-width: 760px; margin: 0 auto 28px; } .section-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--primary-dark); margin-bottom: 18px; }.et-db.et-db.et-db #et-boc .et-l .section-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--primary-dark) !important; margin-bottom: 18px; } .section-header h2{ font-size: 46px !important; font-weight: 800; margin: 0 0 14px; color: var(--dark); line-height: 1.15; letter-spacing: -0.02em; }.et-db.et-db.et-db #et-boc .et-l .section-header h2{ font-size: 46px !important; font-weight: 800; margin: 0 0 14px; color: var(--dark) !important; line-height: 1.15; letter-spacing: -0.02em; } .subtitle{ font-size: 18px; color: var(--gray); line-height: 1.65; margin: 0; }.et-db.et-db.et-db #et-boc .et-l .subtitle{ font-size: 18px; color: var(--gray) !important; line-height: 1.65; margin: 0; } /* =========================== ROADMAP WRAPPER =========================== */ .roadmap-wrapper, .et-db.et-db.et-db #et-boc .et-l /* =========================== ROADMAP WRAPPER =========================== */ .roadmap-wrapper{ background: linear-gradient(135deg, #F0FDF4 0%, #D1FAE5 100%); border: 1px solid rgba(16, 185, 129, 0.10); border-radius: 28px; padding: 40px 52px 34px; margin: 0 auto 24px; position: relative; box-shadow: 0 12px 40px rgba(16, 185, 129, 0.08); overflow: hidden; } .roadmap-title{ text-align: center; font-size: 25px !important; font-weight: 800; color: var(--dark); margin: 0 0 36px; line-height: 1.3; letter-spacing: -0.01em; }.et-db.et-db.et-db #et-boc .et-l .roadmap-title{ text-align: center; font-size: 25px !important; font-weight: 800; color: var(--dark) !important; margin: 0 0 36px; line-height: 1.3; letter-spacing: -0.01em; } /* =========================== STEPS =========================== */ .steps-container, .et-db.et-db.et-db #et-boc .et-l /* =========================== STEPS =========================== */ .steps-container{ display: flex; justify-content: space-between; align-items: flex-start; position: relative; width: 85%; margin: 0 auto; padding: 14px 14px 0; } /* Connecting Line - DA101 is step 1 → ~20% progress */ .steps-container::before, .et-db.et-db.et-db #et-boc .et-l /* Connecting Line - DA101 is step 1 → ~20% progress */ .steps-container::before{ content: ''; position: absolute; top: calc(14px + 38px); left: 9%; right: 9%; height: 3px; background: linear-gradient(90deg, var(--primary) 0%, var(--primary) 20%, var(--line-rest) 20%, var(--line-rest) 100%); border-radius: 3px; z-index: 0; } .step, .et-db.et-db.et-db #et-boc .et-l .step{ flex: 1; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1; } /* Step Number Node */ .step-number, .et-db.et-db.et-db #et-boc .et-l /* Step Number Node */ .step-number{ width: 76px; height: 76px; background: var(--white); border: 2px solid #E2E8F0; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 30px; color: var(--primary) !important; margin-bottom: 18px; position: relative; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; box-shadow: 0 2px 8px rgba(15, 23, 42, 0.05); text-decoration: none; } .step.future .step-number, .et-db.et-db.et-db #et-boc .et-l .step.future .step-number{ cursor: pointer; } .step.future:hover .step-number, .et-db.et-db.et-db #et-boc .et-l .step.future:hover .step-number{ border-color: var(--primary); color: var(--primary) !important; transform: translateY(-5px); box-shadow: 0 12px 24px rgba(16, 185, 129, 0.16); } .step.future:hover .step-title{ color: var(--primary); }.et-db.et-db.et-db #et-boc .et-l .step.future:hover .step-title{ color: var(--primary) !important; } .step.future:hover .step-label{ color: var(--primary); }.et-db.et-db.et-db #et-boc .et-l .step.future:hover .step-label{ color: var(--primary) !important; } a.step-number, a.step-number:hover, a.step-number:focus, a.step-number:active, a.step-number:visited, .et-db.et-db.et-db #et-boc .et-l a.step-number, .et-db.et-db.et-db #et-boc .et-l a.step-number:hover, .et-db.et-db.et-db #et-boc .et-l a.step-number:focus, .et-db.et-db.et-db #et-boc .et-l a.step-number:active, .et-db.et-db.et-db #et-boc .et-l a.step-number:visited{ text-decoration: none !important; color: var(--primary) !important; } /* Active Step - DA101 (Step 1) */ .step.active .step-number, .et-db.et-db.et-db #et-boc .et-l /* Active Step - DA101 (Step 1) */ .step.active .step-number{ background: var(--gradient-1); border-color: var(--primary); color: var(--white) !important; box-shadow: 0 12px 26px rgba(16, 185, 129, 0.30), 0 0 0 5px rgba(16, 185, 129, 0.10); } /* "Bạn đang ở đây" marker - above the active node */ .you-are-here{ position: absolute; bottom: calc(100% + 12px); left: 50%; transform: translateX(-50%); background: var(--primary); color: var(--white); padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 700; letter-spacing: 0.4px; white-space: nowrap; box-shadow: 0 6px 16px rgba(16, 185, 129, 0.28); }.et-db.et-db.et-db #et-boc .et-l /* "Bạn đang ở đây" marker - above the active node */ .you-are-here{ position: absolute; bottom: calc(100% + 12px); left: 50%; transform: translateX(-50%); background: var(--primary); color: var(--white) !important; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 700; letter-spacing: 0.4px; white-space: nowrap; box-shadow: 0 6px 16px rgba(16, 185, 129, 0.28); } .you-are-here::after, .et-db.et-db.et-db #et-boc .et-l .you-are-here::after{ content: ''; position: absolute; bottom: -5px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid var(--primary); } /* Step Content */ .step-content, .et-db.et-db.et-db #et-boc .et-l /* Step Content */ .step-content{ text-align: center; max-width: 180px; } .step-label{ font-size: 12px; font-weight: 700; color: var(--gray); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; line-height: 1.2; transition: color 0.3s ease; }.et-db.et-db.et-db #et-boc .et-l .step-label{ font-size: 12px; font-weight: 700; color: var(--gray) !important; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 1px; line-height: 1.2; transition: color 0.3s ease; } .step.active .step-label{ color: var(--primary); font-weight: 800; }.et-db.et-db.et-db #et-boc .et-l .step.active .step-label{ color: var(--primary) !important; font-weight: 800; } .step-title{ font-size: 15px; font-weight: 600; color: var(--gray); line-height: 1.4; transition: color 0.3s ease; min-height: 42px; }.et-db.et-db.et-db #et-boc .et-l .step-title{ font-size: 15px; font-weight: 600; color: var(--gray) !important; line-height: 1.4; transition: color 0.3s ease; min-height: 42px; } .step.active .step-title{ color: var(--dark); font-weight: 700; }.et-db.et-db.et-db #et-boc .et-l .step.active .step-title{ color: var(--dark) !important; font-weight: 700; } /* =========================== SCROLL REVEAL =========================== */ .ps-reveal, .et-db.et-db.et-db #et-boc .et-l /* =========================== SCROLL REVEAL =========================== */ .ps-reveal{ opacity: 0; transform: translateY(24px); transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); } .ps-reveal.ps-in, .et-db.et-db.et-db #et-boc .et-l .ps-reveal.ps-in{ opacity: 1; transform: none; } /* =========================== PROBLEM-SOLUTION GRID =========================== */ .problem-solution-grid, .et-db.et-db.et-db #et-boc .et-l /* =========================== PROBLEM-SOLUTION GRID =========================== */ .problem-solution-grid{ display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; } .problem-box, .solution-box, .et-db.et-db.et-db #et-boc .et-l .problem-box, .et-db.et-db.et-db #et-boc .et-l .solution-box{ padding: 32px; border-radius: 20px; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s ease; } .problem-box, .et-db.et-db.et-db #et-boc .et-l .problem-box{ border: 1px solid #FEF3C7; background: linear-gradient(135deg, #FFFBEB 0%, #FFFFFF 100%); } .solution-box, .et-db.et-db.et-db #et-boc .et-l .solution-box{ border: 1px solid #A7F3D0; background: linear-gradient(135deg, #F0FDF4 0%, #FFFFFF 100%); } .problem-box:hover, .solution-box:hover, .et-db.et-db.et-db #et-boc .et-l .problem-box:hover, .et-db.et-db.et-db #et-boc .et-l .solution-box:hover{ transform: translateY(-6px); box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10); } /* Box Icon Chip */ .box-icon, .et-db.et-db.et-db #et-boc .et-l /* Box Icon Chip */ .box-icon{ width: 46px; height: 46px; border-radius: 13px; display: flex; align-items: center; justify-content: center; margin-bottom: 18px; } .box-icon svg, .et-db.et-db.et-db #et-boc .et-l .box-icon svg{ width: 24px; height: 24px; } .problem-box .box-icon{ background: rgba(245, 158, 11, 0.12); color: var(--accent); }.et-db.et-db.et-db #et-boc .et-l .problem-box .box-icon{ background: rgba(245, 158, 11, 0.12); color: var(--accent) !important; } .solution-box .box-icon{ background: rgba(16, 185, 129, 0.12); color: var(--primary); }.et-db.et-db.et-db #et-boc .et-l .solution-box .box-icon{ background: rgba(16, 185, 129, 0.12); color: var(--primary) !important; } /* Box Title */ .box-title{ font-size: 21px; font-weight: 700; margin: 0 0 20px; line-height: 1.3; color: var(--dark); }.et-db.et-db.et-db #et-boc .et-l /* Box Title */ .box-title{ font-size: 21px; font-weight: 700; margin: 0 0 20px; line-height: 1.3; color: var(--dark) !important; } /* Box List */ .box-list, .et-db.et-db.et-db #et-boc .et-l /* Box List */ .box-list{ list-style: none; margin: 0; padding: 0; } .box-list li{ list-style: none !important; padding: 9px 0 9px 32px; position: relative; color: var(--dark-800); font-size: 15px; line-height: 1.55; }.et-db.et-db.et-db #et-boc .et-l .box-list li{ list-style: none !important; padding: 9px 0 9px 32px; position: relative; color: var(--dark-800) !important; font-size: 15px; line-height: 1.55; } .box-list li::marker, .et-db.et-db.et-db #et-boc .et-l .box-list li::marker{ content: '' !important; } .box-list li::before, .et-db.et-db.et-db #et-boc .et-l .box-list li::before{ position: absolute; left: 0; top: 10px; width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; line-height: 1; } .problem-box .box-list li::before{ content: '\2715'; background: rgba(245, 158, 11, 0.12); color: var(--accent); }.et-db.et-db.et-db #et-boc .et-l .problem-box .box-list li::before{ content: '\2715'; background: rgba(245, 158, 11, 0.12); color: var(--accent) !important; } .solution-box .box-list li::before{ content: '\2713'; background: rgba(16, 185, 129, 0.12); color: var(--primary); }.et-db.et-db.et-db #et-boc .et-l .solution-box .box-list li::before{ content: '\2713'; background: rgba(16, 185, 129, 0.12); color: var(--primary) !important; } /* =========================== RESPONSIVE - TABLET =========================== */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* =========================== RESPONSIVE - TABLET =========================== */ @media (max-width: 1024px){ .problem-solution { padding: 56px 0; } .problem-solution-container { width: 90%; } .section-header { margin-bottom: 24px; } .roadmap-wrapper { padding: 34px 32px 28px; } .roadmap-title { font-size: 23px !important; margin-bottom: 30px; } .steps-container { padding: 12px 8px 0; } .steps-container::before { top: calc(12px + 33px); left: 7%; right: 7%; } .step-number { width: 66px; height: 66px; font-size: 26px; margin-bottom: 16px; } .step-content { max-width: 150px; } .step-title { font-size: 14px; min-height: 40px; } } /* =========================== RESPONSIVE - MOBILE =========================== */ @media (max-width: 768px), .et-db.et-db.et-db #et-boc .et-l /* =========================== RESPONSIVE - MOBILE =========================== */ @media (max-width: 768px){ .problem-solution { padding: 44px 0; } .section-header { margin-bottom: 22px; } .section-header h2 { font-size: 34px !important; } .subtitle { font-size: 16px; } .roadmap-wrapper { padding: 30px 20px 24px; border-radius: 24px; } .roadmap-title { font-size: 21px !important; margin-bottom: 28px; } .steps-container { padding: 12px 4px 0; } .steps-container::before { top: calc(12px + 30px); left: 6%; right: 6%; } .step-number { width: 60px; height: 60px; font-size: 24px; border-radius: 16px; margin-bottom: 14px; } .step-content { max-width: 130px; } .step-label { font-size: 10px; } .step-title { font-size: 13px; min-height: 38px; } .problem-solution-grid { grid-template-columns: 1fr; gap: 18px; } .problem-box, .solution-box { padding: 28px 22px; } .box-title { font-size: 20px; } } /* =========================== RESPONSIVE - SMALL MOBILE =========================== */ @media (max-width: 590px){ .section-header h2 { font-size: 28px !important; } .roadmap-wrapper { padding: 32px 16px 24px; overflow-x: auto; overflow-y: visible; } .roadmap-title { font-size: 21px !important; margin-bottom: 36px; padding: 0 6px; } .steps-container { min-width: 600px; padding: 14px 4px 0; } .steps-container::before { top: calc(14px + 29px); left: 6%; right: 6%; } .step-number { width: 58px; height: 58px; font-size: 23px; } .step-content { max-width: 110px; } .step-label { font-size: 9px; margin-bottom: 4px; } .step-title { font-size: 12px; line-height: 1.3; min-height: 34px; } .you-are-here { font-size: 10px; padding: 5px 11px; } .problem-box, .solution-box { padding: 24px 18px; } .box-list li { font-size: 14px; } /* Scroll hint */ .roadmap-wrapper::after { content: '← Vuốt ngang để xem →'; display: block; text-align: center; color: var(--gray); font-size: 11px; margin-top: 16px; opacity: 0.7; } }.et-db.et-db.et-db #et-boc .et-l /* =========================== RESPONSIVE - SMALL MOBILE =========================== */ @media (max-width: 590px){ .section-header h2 { font-size: 28px !important; } .roadmap-wrapper { padding: 32px 16px 24px; overflow-x: auto; overflow-y: visible; } .roadmap-title { font-size: 21px !important; margin-bottom: 36px; padding: 0 6px; } .steps-container { min-width: 600px; padding: 14px 4px 0; } .steps-container::before { top: calc(14px + 29px); left: 6%; right: 6%; } .step-number { width: 58px; height: 58px; font-size: 23px; } .step-content { max-width: 110px; } .step-label { font-size: 9px; margin-bottom: 4px; } .step-title { font-size: 12px; line-height: 1.3; min-height: 34px; } .you-are-here { font-size: 10px; padding: 5px 11px; } .problem-box, .solution-box { padding: 24px 18px; } .box-list li { font-size: 14px; } /* Scroll hint */ .roadmap-wrapper::after { content: '← Vuốt ngang để xem →'; display: block; text-align: center; color: var(--gray) !important; font-size: 11px; margin-top: 16px; opacity: 0.7; } } (function () { var revealEls = document.querySelectorAll('.problem-solution .step, .problem-solution .problem-box, .problem-solution .solution-box'); if (!revealEls.length) return; var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduceMotion || !('IntersectionObserver' in window)) { return; // leave content fully visible } var observer = new IntersectionObserver(function (entries) { entries.forEach(function (entry) { if (entry.isIntersecting) { entry.target.classList.add('ps-in'); observer.unobserve(entry.target); } }); }, { threshold: 0.15, rootMargin: '0px 0px -80px 0px' }); var steps = document.querySelectorAll('.problem-solution .step'); steps.forEach(function (el, i) { el.classList.add('ps-reveal'); el.style.transitionDelay = (i * 0.07) + 's'; observer.observe(el); }); var boxes = document.querySelectorAll('.problem-solution .problem-box, .problem-solution .solution-box'); boxes.forEach(function (el, i) { el.classList.add('ps-reveal'); el.style.transitionDelay = (i * 0.1) + 's'; observer.observe(el); }); })();
    NỘI DUNG KHÓA HỌC

    6 modules giúp bạn từ Zero đến Hero

    13 giờ học với 100+ video bài giảng được thiết kế để bạn có thể học mọi lúc, mọi nơi

    <!-- ========================================== MODULE 1: INTRODUCTION 🎥 Video ID: NVDwAjipT8Y ========================================== -->
    01

    Module mở đầu giúp bạn hiểu rõ mục tiêu, lộ trình học tập và những kết quả bạn sẽ đạt được sau khi hoàn thành khóa học Data Analytics 101.

    • Giới thiệu mục tiêu khóa học
    • Lộ trình học tập chi tiết
    • Kết quả bạn sẽ đạt được sau khóa học
    Video Introduction
    <!-- ========================================== MODULE 2: KIẾN THỨC NỀN TẢNG 🎥 Video ID: HNlUg2LFTOs ========================================== --> <!-- ========================================== MODULE 3: KIẾN THỨC THỐNG KÊ 🎥 Video ID: na7_svA4zf4 ========================================== --> <!-- ========================================== MODULE 4: PROBLEM SOLVING STRATEGY 🎥 Video ID: 70IKetMTEsM ========================================== --> <!-- ========================================== MODULE 5: SQL THỰC CHIẾN 🎥 Video ID: zKVHUXjdOfA ========================================== --> <!-- ========================================== MODULE 6: AUTOMATION DASHBOARD WITH EXCEL 🎥 Video ID: rPQk_OCPQVs ========================================== -->
    .data-timeline-section, .data-timeline-section *, .et-db.et-db.et-db #et-boc .et-l .data-timeline-section, .et-db.et-db.et-db #et-boc .et-l .data-timeline-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .data-timeline-section, .et-db.et-db.et-db #et-boc .et-l .data-timeline-section{ --g: #10B981; --g-dark: #059669; --ink: #0F172A; --ink2: #1E293B; --muted: #64748B; --line: #E3E8EF; --line-soft: #EEF2F6; --paper: #FFFFFF; background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); padding: 72px 0; position: relative; overflow: hidden; } .data-bg-pattern, .et-db.et-db.et-db #et-boc .et-l .data-bg-pattern{ position: absolute; inset: 0; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; } .data-timeline-container, .et-db.et-db.et-db #et-boc .et-l .data-timeline-container{ width: 85%; margin: 0 auto; position: relative; z-index: 2; } /* Header */ .data-timeline-header, .et-db.et-db.et-db #et-boc .et-l /* Header */ .data-timeline-header{ text-align: center; max-width: 760px; margin: 0 auto 40px; } /* Amber badge (kept from DA101) */ .data-badge{ display: inline-block; background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(251, 191, 36, 0.15) 100%); padding: 8px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: #D97706; margin-bottom: 16px; border: 1px solid rgba(245, 158, 11, 0.3); }.et-db.et-db.et-db #et-boc .et-l /* Amber badge (kept from DA101) */ .data-badge{ display: inline-block; background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, rgba(251, 191, 36, 0.15) 100%); padding: 8px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: #D97706 !important; margin-bottom: 16px; border: 1px solid rgba(245, 158, 11, 0.3); } .data-title{ font-size: clamp(28px, 4vw, 44px); font-weight: 800; color: var(--ink); line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 14px; }.et-db.et-db.et-db #et-boc .et-l .data-title{ font-size: clamp(28px, 4vw, 44px); font-weight: 800; color: var(--ink) !important; line-height: 1.15; letter-spacing: -0.02em; margin: 0 0 14px; } .data-subtitle{ font-size: 17px; color: var(--muted); line-height: 1.6; margin: 0 0 28px; }.et-db.et-db.et-db #et-boc .et-l .data-subtitle{ font-size: 17px; color: var(--muted) !important; line-height: 1.6; margin: 0 0 28px; } /* Timeline */ .data-timeline, .et-db.et-db.et-db #et-boc .et-l /* Timeline */ .data-timeline{ display: flex; flex-direction: column; gap: 44px; } .data-group, .et-db.et-db.et-db #et-boc .et-l .data-group{ display: flex; flex-direction: column; gap: 14px; scroll-margin-top: 90px; } .data-module, .et-db.et-db.et-db #et-boc .et-l .data-module{ display: flex; align-items: flex-start; gap: 18px; position: relative; } .data-module[hidden], .et-db.et-db.et-db #et-boc .et-l .data-module[hidden]{ display: none !important; } /* connecting line: from below this node down to the next node */ .data-group .data-module:not(:last-child)::after, .et-db.et-db.et-db #et-boc .et-l /* connecting line: from below this node down to the next node */ .data-group .data-module:not(:last-child)::after{ content: ''; position: absolute; left: 25px; top: 52px; height: calc(100% - 38px); width: 2px; background: var(--line); border-radius: 2px; z-index: 0; } .data-rail, .et-db.et-db.et-db #et-boc .et-l .data-rail{ flex: 0 0 52px; display: flex; justify-content: center; } .data-node{ width: 52px; height: 52px; flex-shrink: 0; border-radius: 50%; background: var(--paper); border: 2px solid rgba(16, 185, 129, 0.30); color: var(--g); font-weight: 800; font-size: 17px; display: grid; place-items: center; position: relative; z-index: 1; transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; }.et-db.et-db.et-db #et-boc .et-l .data-node{ width: 52px; height: 52px; flex-shrink: 0; border-radius: 50%; background: var(--paper); border: 2px solid rgba(16, 185, 129, 0.30); color: var(--g) !important; font-weight: 800; font-size: 17px; display: grid; place-items: center; position: relative; z-index: 1; transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease; } .data-module:hover .data-node{ background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%); border-color: transparent; color: #fff; box-shadow: 0 8px 18px rgba(16, 185, 129, 0.24); }.et-db.et-db.et-db #et-boc .et-l .data-module:hover .data-node{ background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%); border-color: transparent; color: #fff !important; box-shadow: 0 8px 18px rgba(16, 185, 129, 0.24); } .data-card, .et-db.et-db.et-db #et-boc .et-l .data-card{ flex: 1; min-width: 0; background: var(--paper); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05); transition: border-color 0.3s ease, box-shadow 0.3s ease; } .data-module:hover .data-card, .et-db.et-db.et-db #et-boc .et-l .data-module:hover .data-card{ border-color: rgba(16, 185, 129, 0.35); box-shadow: 0 16px 42px rgba(15, 23, 42, 0.10); } .data-head, .et-db.et-db.et-db #et-boc .et-l .data-head{ width: 100%; display: flex; align-items: center; gap: 16px; padding: 17px 22px; background: none; border: none; cursor: pointer; text-align: left; } .data-htext, .et-db.et-db.et-db #et-boc .et-l .data-htext{ flex: 1; min-width: 0; } .data-mnum{ display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--g); margin-bottom: 3px; }.et-db.et-db.et-db #et-boc .et-l .data-mnum{ display: block; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--g) !important; margin-bottom: 3px; } .data-mtitle{ display: block; font-size: 18px; font-weight: 700; color: var(--ink); line-height: 1.3; }.et-db.et-db.et-db #et-boc .et-l .data-mtitle{ display: block; font-size: 18px; font-weight: 700; color: var(--ink) !important; line-height: 1.3; } .data-msub{ display: block; font-size: 14px; color: var(--muted); line-height: 1.4; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.et-db.et-db.et-db #et-boc .et-l .data-msub{ display: block; font-size: 14px; color: var(--muted) !important; line-height: 1.4; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .data-chev{ flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: var(--g); display: grid; place-items: center; transform: rotate(180deg); transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease; }.et-db.et-db.et-db #et-boc .et-l .data-chev{ flex-shrink: 0; width: 32px; height: 32px; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: var(--g) !important; display: grid; place-items: center; transform: rotate(180deg); transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease; } .data-module.collapsed .data-chev, .et-db.et-db.et-db #et-boc .et-l .data-module.collapsed .data-chev{ transform: rotate(0deg); background: var(--line-soft); } /* Body (grid-rows accordion) — open by default, collapse to close */ .data-body, .et-db.et-db.et-db #et-boc .et-l /* Body (grid-rows accordion) — open by default, .et-db.et-db.et-db #et-boc .et-l collapse to close */ .data-body{ display: grid; grid-template-rows: 1fr; transition: grid-template-rows 0.42s cubic-bezier(0.16, 1, 0.3, 1); } .data-module.collapsed .data-body, .et-db.et-db.et-db #et-boc .et-l .data-module.collapsed .data-body{ grid-template-rows: 0fr; } .data-bwrap, .et-db.et-db.et-db #et-boc .et-l .data-bwrap{ overflow: hidden; } .data-body-inner, .et-db.et-db.et-db #et-boc .et-l .data-body-inner{ display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 28px; padding: 4px 22px 24px; align-items: start; } .data-module.no-video .data-body-inner, .et-db.et-db.et-db #et-boc .et-l .data-module.no-video .data-body-inner{ grid-template-columns: 1fr; } .data-desc{ font-size: 15px; color: var(--ink2); line-height: 1.65; margin: 0 0 14px; }.et-db.et-db.et-db #et-boc .et-l .data-desc{ font-size: 15px; color: var(--ink2) !important; line-height: 1.65; margin: 0 0 14px; } .data-list, .et-db.et-db.et-db #et-boc .et-l .data-list{ list-style: none; margin: 0; padding: 0; } .data-list li{ list-style: none !important; position: relative; padding: 8px 0 8px 30px; font-size: 15px; color: var(--ink2); line-height: 1.5; border-bottom: 1px solid var(--line-soft); }.et-db.et-db.et-db #et-boc .et-l .data-list li{ list-style: none !important; position: relative; padding: 8px 0 8px 30px; font-size: 15px; color: var(--ink2) !important; line-height: 1.5; border-bottom: 1px solid var(--line-soft); } .data-list li:last-child, .et-db.et-db.et-db #et-boc .et-l .data-list li:last-child{ border-bottom: none; } .data-list li::marker, .et-db.et-db.et-db #et-boc .et-l .data-list li::marker{ content: '' !important; } .data-list li::before{ content: '\2713'; position: absolute; left: 0; top: 9px; width: 20px; height: 20px; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: var(--g); font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; line-height: 1; }.et-db.et-db.et-db #et-boc .et-l .data-list li::before{ content: '\2713'; position: absolute; left: 0; top: 9px; width: 20px; height: 20px; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: var(--g) !important; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; line-height: 1; } /* Video */ .data-media, .et-db.et-db.et-db #et-boc .et-l /* Video */ .data-media{ position: sticky; top: 20px; } .data-video, .et-db.et-db.et-db #et-boc .et-l .data-video{ position: relative; aspect-ratio: 16 / 9; width: 100%; border-radius: 14px; overflow: hidden; background: #052e1a; border: 1px solid var(--line); cursor: pointer; } .data-video img, .et-db.et-db.et-db #et-boc .et-l .data-video img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; } .data-video:hover img, .et-db.et-db.et-db #et-boc .et-l .data-video:hover img{ transform: scale(1.04); } .data-play, .et-db.et-db.et-db #et-boc .et-l .data-play{ position: absolute; inset: 0; margin: auto; width: 60px; height: 42px; background: none; border: none; cursor: pointer; padding: 0; display: grid; place-items: center; transition: transform 0.25s ease; z-index: 2; } .data-video:hover .data-play, .et-db.et-db.et-db #et-boc .et-l .data-video:hover .data-play{ transform: scale(1.08); } .data-play svg, .et-db.et-db.et-db #et-boc .et-l .data-play svg{ filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.35)); } .data-video.playing iframe, .et-db.et-db.et-db #et-boc .et-l .data-video.playing iframe{ position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } .data-video.playing img, .data-video.playing .data-play, .et-db.et-db.et-db #et-boc .et-l .data-video.playing img, .et-db.et-db.et-db #et-boc .et-l .data-video.playing .data-play{ display: none; } /* Scroll reveal — each card fades up as it enters the viewport. Gated behind .data-js so content stays visible if JS is off / reduced-motion. */ .data-js .data-module, .et-db.et-db.et-db #et-boc .et-l /* Scroll reveal — each card fades up as it enters the viewport. Gated behind .data-js so content stays visible if JS is off / reduced-motion. */ .data-js .data-module{ opacity: 0; transform: translateY(22px); transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } .data-js .data-module.data-in, .et-db.et-db.et-db #et-boc .et-l .data-js .data-module.data-in{ opacity: 1; transform: none; } /* ===== Responsive ===== */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* ===== Responsive ===== */ @media (max-width: 1024px){ .data-timeline-section { padding: 56px 0; } .data-timeline-container { width: 92%; } } @media (max-width: 768px) { .data-timeline-section, .et-db.et-db.et-db #et-boc .et-l .data-timeline-section{ padding: 44px 0; } .data-timeline-header, .et-db.et-db.et-db #et-boc .et-l .data-timeline-header{ margin-bottom: 30px; } .data-subtitle, .et-db.et-db.et-db #et-boc .et-l .data-subtitle{ font-size: 15px; } .data-module, .et-db.et-db.et-db #et-boc .et-l .data-module{ gap: 12px; } .data-group .data-module:not(:last-child)::after, .et-db.et-db.et-db #et-boc .et-l .data-group .data-module:not(:last-child)::after{ left: 21px; top: 44px; height: calc(100% - 30px); } .data-rail, .et-db.et-db.et-db #et-boc .et-l .data-rail{ flex-basis: 44px; } .data-node, .et-db.et-db.et-db #et-boc .et-l .data-node{ width: 44px; height: 44px; font-size: 15px; } .data-head, .et-db.et-db.et-db #et-boc .et-l .data-head{ padding: 15px 16px; gap: 12px; } .data-mtitle, .et-db.et-db.et-db #et-boc .et-l .data-mtitle{ font-size: 16px; } .data-msub, .et-db.et-db.et-db #et-boc .et-l .data-msub{ font-size: 13px; } .data-body-inner, .et-db.et-db.et-db #et-boc .et-l .data-body-inner{ grid-template-columns: 1fr; gap: 18px; padding: 2px 16px 20px; } .data-media, .et-db.et-db.et-db #et-boc .et-l .data-media{ position: static; order: -1; }} @media (max-width: 480px) { .data-title, .et-db.et-db.et-db #et-boc .et-l .data-title{ font-size: 25px; } .data-msub, .et-db.et-db.et-db #et-boc .et-l .data-msub{ display: none; } .data-node, .et-db.et-db.et-db #et-boc .et-l .data-node{ width: 40px; height: 40px; font-size: 14px; } .data-group .data-module:not(:last-child)::after, .et-db.et-db.et-db #et-boc .et-l .data-group .data-module:not(:last-child)::after{ left: 19px; top: 40px; } .data-rail, .et-db.et-db.et-db #et-boc .et-l .data-rail{ flex-basis: 40px; }} (function () { var section = document.querySelector('.data-timeline-section'); if (!section) return; // Decide reveal up-front and hide cards before first paint (no flash). var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; var useReveal = !reduce && 'IntersectionObserver' in window; if (useReveal) section.classList.add('data-js'); var modules = [].slice.call(section.querySelectorAll('.data-module')); // Each card collapses / expands independently (all open by default) modules.forEach(function (m) { var head = m.querySelector('.data-head'); if (!head) return; head.addEventListener('click', function () { var collapsed = m.classList.toggle('collapsed'); head.setAttribute('aria-expanded', collapsed ? 'false' : 'true'); }); }); // Lazy-load YouTube on play section.querySelectorAll('.data-video').forEach(function (v) { v.addEventListener('click', function (e) { e.stopPropagation(); if (v.classList.contains('playing')) return; var id = v.getAttribute('data-video-id'); if (!id) return; var f = document.createElement('iframe'); f.src = 'https://www.youtube.com/embed/' + id + '?autoplay=1&rel=0&modestbranding=1'; f.allow = 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'; f.allowFullscreen = true; f.frameBorder = '0'; f.referrerPolicy = 'strict-origin-when-cross-origin'; v.appendChild(f); v.classList.add('playing'); }); }); // Scroll reveal: fade each card up as it scrolls into view if (useReveal) { var io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { en.target.classList.add('data-in'); io.unobserve(en.target); } }); }, { threshold: 0.12, rootMargin: '0px 0px -80px 0px' }); modules.forEach(function (m) { io.observe(m); }); } })();
    .circle-intro-wrapper, .circle-intro-wrapper *, .et-db.et-db.et-db #et-boc .et-l .circle-intro-wrapper, .et-db.et-db.et-db #et-boc .et-l .circle-intro-wrapper *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .circle-intro-wrapper, .et-db.et-db.et-db #et-boc .et-l .circle-intro-wrapper{ --g: #10B981; --g-dark: #059669; --ink: #0F172A; --ink2: #1E293B; --muted: #64748B; --line: #E3E8EF; --line-soft: #EEF2F6; --paper: #FFFFFF; background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); padding: 72px 0; position: relative; overflow: hidden; } /* Background dot pattern */ .circle-intro-wrapper::before, .et-db.et-db.et-db #et-boc .et-l /* Background dot pattern */ .circle-intro-wrapper::before{ content: ''; position: absolute; inset: 0; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; } .circle-intro-container, .et-db.et-db.et-db #et-boc .et-l .circle-intro-container{ width: 85%; margin: 0 auto; position: relative; z-index: 2; } /* Section Header */ .circle-intro-header, .et-db.et-db.et-db #et-boc .et-l /* Section Header */ .circle-intro-header{ text-align: center; max-width: 760px; margin: 0 auto 40px; } .circle-intro-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark); margin-bottom: 16px; }.et-db.et-db.et-db #et-boc .et-l .circle-intro-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark) !important; margin-bottom: 16px; } .circle-intro-header h2, .et-db.et-db.et-db #et-boc .et-l .circle-intro-header h2{ font-size: clamp(28px, 4vw, 44px) !important; font-weight: 800 !important; color: var(--ink) !important; line-height: 1.15 !important; letter-spacing: -0.02em; margin: 0 0 14px !important; } .circle-intro-header p, .et-db.et-db.et-db #et-boc .et-l .circle-intro-header p{ font-size: 17px !important; color: var(--muted) !important; line-height: 1.6 !important; max-width: 640px; margin: 0 auto !important; } /* Main Content Grid */ .circle-intro-content, .et-db.et-db.et-db #et-boc .et-l /* Main Content Grid */ .circle-intro-content{ display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px; align-items: center; margin-bottom: 0; } /* Left Column - Text */ .circle-intro-text, .et-db.et-db.et-db #et-boc .et-l /* Left Column - Text */ .circle-intro-text{ padding-right: 12px; } .circle-feature-item, .et-db.et-db.et-db #et-boc .et-l .circle-feature-item{ margin-bottom: 32px; } .circle-main-desc, .et-db.et-db.et-db #et-boc .et-l .circle-main-desc{ font-size: 18px !important; color: var(--ink2) !important; line-height: 1.75 !important; margin: 0 !important; } /* Features Grid */ .circle-features-grid, .et-db.et-db.et-db #et-boc .et-l /* Features Grid */ .circle-features-grid{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; } .circle-feature-box, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box{ background: var(--paper); padding: 24px 18px; border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05); transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease; text-align: center; } .circle-feature-box:hover, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box:hover{ border-color: rgba(16, 185, 129, 0.35); transform: translateY(-5px); box-shadow: 0 16px 42px rgba(15, 23, 42, 0.10); } .feature-icon-circle{ width: 46px; height: 46px; background: rgba(16, 185, 129, 0.12); color: var(--g); border-radius: 13px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }.et-db.et-db.et-db #et-boc .et-l .feature-icon-circle{ width: 46px; height: 46px; background: rgba(16, 185, 129, 0.12); color: var(--g) !important; border-radius: 13px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; } .feature-icon-circle svg, .et-db.et-db.et-db #et-boc .et-l .feature-icon-circle svg{ width: 24px; height: 24px; } .circle-feature-box h4, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box h4{ font-size: 16px !important; font-weight: 700 !important; color: var(--ink) !important; margin: 0 !important; line-height: 1.3 !important; } /* Right Column - Image / GIF */ .circle-intro-media, .et-db.et-db.et-db #et-boc .et-l /* Right Column - Image / GIF */ .circle-intro-media{ position: relative; } .circle-gif-container, .et-db.et-db.et-db #et-boc .et-l .circle-gif-container{ position: relative; border-radius: 20px; overflow: hidden; border: 1px solid var(--line); background: var(--paper); box-shadow: 0 16px 42px rgba(15, 23, 42, 0.10); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease; } .circle-gif-container:hover, .et-db.et-db.et-db #et-boc .et-l .circle-gif-container:hover{ transform: translateY(-6px); box-shadow: 0 22px 54px rgba(15, 23, 42, 0.14); } .circle-gif-container img, .et-db.et-db.et-db #et-boc .et-l .circle-gif-container img{ width: 100%; height: auto; display: block; } /* CTA */ .circle-intro-cta, .et-db.et-db.et-db #et-boc .et-l /* CTA */ .circle-intro-cta{ text-align: center; margin-top: 44px; } .circle-cta-button, .et-db.et-db.et-db #et-boc .et-l .circle-cta-button{ display: inline-block !important; background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%) !important; color: #fff !important; font-size: 17px !important; font-weight: 700 !important; padding: 16px 44px !important; border-radius: 100px !important; text-decoration: none !important; border: none !important; cursor: pointer !important; transition: transform 0.3s ease, box-shadow 0.3s ease !important; box-shadow: 0 10px 30px rgba(16, 185, 129, 0.28) !important; text-transform: none !important; } .circle-cta-button:hover, .et-db.et-db.et-db #et-boc .et-l .circle-cta-button:hover{ transform: translateY(-3px) !important; box-shadow: 0 16px 40px rgba(16, 185, 129, 0.38) !important; color: #fff !important; } /* Scroll reveal — fade up (matches roadmap / syllabus). Gated behind .ci-js. */ .ci-js .circle-intro-header, .ci-js .circle-feature-box, .ci-js .circle-intro-media, .ci-js .circle-intro-cta, .et-db.et-db.et-db #et-boc .et-l /* Scroll reveal — fade up (matches roadmap / syllabus). Gated behind .ci-js. */ .ci-js .circle-intro-header, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-feature-box, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-intro-media, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-intro-cta{ opacity: 0; transform: translateY(22px); transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } .ci-js .circle-intro-header.ci-in, .ci-js .circle-feature-box.ci-in, .ci-js .circle-intro-media.ci-in, .ci-js .circle-intro-cta.ci-in, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-intro-header.ci-in, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-feature-box.ci-in, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-intro-media.ci-in, .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-intro-cta.ci-in{ opacity: 1; transform: none; } .ci-js .circle-features-grid .circle-feature-box:nth-child(2), .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-features-grid .circle-feature-box:nth-child(2){ transition-delay: 0.08s; } .ci-js .circle-features-grid .circle-feature-box:nth-child(3), .et-db.et-db.et-db #et-boc .et-l .ci-js .circle-features-grid .circle-feature-box:nth-child(3){ transition-delay: 0.16s; } /* ===== Responsive ===== */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* ===== Responsive ===== */ @media (max-width: 1024px){ .circle-intro-wrapper { padding: 56px 0; } .circle-intro-container { width: 92%; } .circle-intro-content { gap: 40px; grid-template-columns: 1fr; } .circle-intro-text { padding-right: 0; order: 2; } .circle-intro-media { order: 1; } } @media (max-width: 768px) { .circle-intro-wrapper, .et-db.et-db.et-db #et-boc .et-l .circle-intro-wrapper{ padding: 44px 0; } .circle-intro-header, .et-db.et-db.et-db #et-boc .et-l .circle-intro-header{ margin-bottom: 32px; } .circle-intro-header p, .et-db.et-db.et-db #et-boc .et-l .circle-intro-header p{ font-size: 16px !important; } .circle-intro-content, .et-db.et-db.et-db #et-boc .et-l .circle-intro-content{ gap: 32px; } .circle-main-desc, .et-db.et-db.et-db #et-boc .et-l .circle-main-desc{ font-size: 17px !important; margin-bottom: 24px !important; } .circle-feature-item, .et-db.et-db.et-db #et-boc .et-l .circle-feature-item{ margin-bottom: 0; } .circle-features-grid, .et-db.et-db.et-db #et-boc .et-l .circle-features-grid{ gap: 12px; } .circle-feature-box, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box{ padding: 18px 12px; } .feature-icon-circle, .et-db.et-db.et-db #et-boc .et-l .feature-icon-circle{ width: 42px; height: 42px; margin-bottom: 12px; } .circle-feature-box h4, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box h4{ font-size: 15px !important; line-height: 1.25 !important; } .circle-cta-button, .et-db.et-db.et-db #et-boc .et-l .circle-cta-button{ width: 100%; max-width: 400px; }} @media (max-width: 480px) { .circle-main-desc, .et-db.et-db.et-db #et-boc .et-l .circle-main-desc{ font-size: 16px !important; } .circle-features-grid, .et-db.et-db.et-db #et-boc .et-l .circle-features-grid{ gap: 10px; } .circle-feature-box, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box{ padding: 16px 10px; } .feature-icon-circle, .et-db.et-db.et-db #et-boc .et-l .feature-icon-circle{ width: 38px; height: 38px; margin-bottom: 10px; } .feature-icon-circle svg, .et-db.et-db.et-db #et-boc .et-l .feature-icon-circle svg{ width: 20px; height: 20px; } .circle-feature-box h4, .et-db.et-db.et-db #et-boc .et-l .circle-feature-box h4{ font-size: 13px !important; }}
    KHÔNG GIAN HỌC TẬP

    Nền tảng học tập tương tác Circle.so

    Học chủ động mọi lúc – tài liệu đầy đủ – kiểm tra ngay sau mỗi phần

    Học viên có thể truy cập bài học bất cứ lúc nào, xem lại không giới hạn, đi kèm handout chi tiết và mini quiz sau mỗi part giúp củng cố kiến thức và đảm bảo bạn hiểu đúng trước khi bước sang nội dung tiếp theo.

    Học mọi lúc mọi nơi

    Tài liệu đầy đủ

    Kiểm tra ngay lập tức

    <!-- ========================================== THAY ẢNH NÀY BẰNG GIF THỰC TẾ CỦA KHÓA DA101 ========================================== SIZE: Width 1200–1400px · Aspect ~16:10 · GIF/MP4/WebP · < 5MB --> Circle.so Platform Demo - DA101 Course
    (function () { var w = document.querySelector('.circle-intro-wrapper'); if (!w) return; var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduce || !('IntersectionObserver' in window)) return; w.classList.add('ci-js'); var els = [].slice.call(w.querySelectorAll('.circle-intro-header, .circle-feature-box, .circle-intro-media, .circle-intro-cta')); var io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { en.target.classList.add('ci-in'); io.unobserve(en.target); } }); }, { threshold: 0.12, rootMargin: '0px 0px -80px 0px' }); els.forEach(function (el) { io.observe(el); }); })();
    GIÁ KHÓA HỌC

    Đầu tư cho tương lai của bạn

    Chọn gói phù hợp với mục tiêu học tập của bạn để bắt đầu hành trình Data Analytics

    <!-- U24 notice (ngay trên toggle)

    U24 Scholarship: Ưu đãi thêm 500K nếu bạn dưới 24 tuổi (sinh viên hoặc bạn mới ra trường)

    --> <!-- Toggle: 2 nhóm học viên
    -->

    Data Analytics 101

    Data Analytics 101 for Everyone

    VND
    Chọn gói này
    QUYỀN LỢI
    • 100+ video bài giảng
    • ~13 giờ học
    • E-learning trọn đời
    • Community support

    Combo E-learning

    AI Data Analytics E-Learning Series

    VND
    Chọn gói này
    QUYỀN LỢI
    • Data Analytics 101
    • AI-Powered Excel & Google Sheet for Data Analytics
    • SQL For Data Analytics
    • Python For Data Analytics

    Combo DA Foundation

    Foundation Data Analytics The First Step

    VND
    Chọn gói này
    QUYỀN LỢI
    • Master Analytical Thinking & Data Analysis with Power BI (Online course)
    • AI-Powered Excel & Google Sheet for Data Analytics
    • Tặng kèm khóa học: Data Analytics 101
    .data-pricing-wrapper, .data-pricing-wrapper *, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .data-pricing-wrapper{ --g: #10B981; --g-dark: #059669; --g-deep: #047857; --amber: #F59E0B; --amber-dark: #D97706; --ink: #0F172A; --ink2: #1E293B; --muted: #64748B; --line: #E3E8EF; --line-soft: #EEF2F6; --paper: #FFFFFF; --danger: #DC2626; position: relative; overflow: hidden; padding: 56px 0; background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); line-height: normal; color: inherit; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper{ --g: #10B981; --g-dark: #059669; --g-deep: #047857; --amber: #F59E0B; --amber-dark: #D97706; --ink: #0F172A; --ink2: #1E293B; --muted: #64748B; --line: #E3E8EF; --line-soft: #EEF2F6; --paper: #FFFFFF; --danger: #DC2626; position: relative; overflow: hidden; padding: 56px 0; background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); line-height: normal; color: inherit !important; } .data-pricing-wrapper .dp-bg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .dp-bg{ position: absolute; inset: 0; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; z-index: 0; } .data-pricing-wrapper>*:not(.dp-bg), .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper>*:not(.dp-bg){ position: relative; z-index: 1; } /* MAIN HEADER */ .data-pricing-wrapper .pricing-header, .et-db.et-db.et-db #et-boc .et-l /* MAIN HEADER */ .data-pricing-wrapper .pricing-header{ text-align: center; max-width: 760px; margin: 0 auto 30px; } .data-pricing-wrapper .pricing-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark); margin-bottom: 14px; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark) !important; margin-bottom: 14px; } .data-pricing-wrapper .pricing-header h2, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-header h2{ font-size: clamp(28px, 4vw, 42px) !important; font-weight: 800 !important; color: var(--ink) !important; margin: 0 0 12px !important; line-height: 1.15 !important; letter-spacing: -0.02em; } .data-pricing-wrapper .pricing-header p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-header p{ font-size: 17px !important; color: var(--muted) !important; line-height: 1.6 !important; margin: 0 !important; } /* U24 notice */ .data-pricing-wrapper .pricing-step-notice-wrapper, .et-db.et-db.et-db #et-boc .et-l /* U24 notice */ .data-pricing-wrapper .pricing-step-notice-wrapper{ display: flex; justify-content: center; width: 100%; margin-bottom: 16px; } .data-pricing-wrapper .pricing-step-notice, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-step-notice{ display: inline-flex; align-items: center; gap: 10px; max-width: 720px; background: rgba(16, 185, 129, 0.07); border: 1px solid rgba(16, 185, 129, 0.20); border-radius: 14px; padding: 11px 18px; } .data-pricing-wrapper .notice-icon{ display: flex; flex-shrink: 0; color: var(--g); }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .notice-icon{ display: flex; flex-shrink: 0; color: var(--g) !important; } .data-pricing-wrapper .notice-icon svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .notice-icon svg{ width: 22px; height: 22px; } .data-pricing-wrapper .pricing-step-notice p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-step-notice p{ font-size: 15px !important; color: var(--g-dark) !important; font-weight: 600 !important; margin: 0 !important; line-height: 1.45 !important; text-align: left; } /* Toggle */ .data-pricing-wrapper .pricing-tabs, .et-db.et-db.et-db #et-boc .et-l /* Toggle */ .data-pricing-wrapper .pricing-tabs{ display: flex !important; justify-content: center !important; margin: 0 auto 24px auto !important; width: 100% !important; padding: 0 !important; } .data-pricing-wrapper .toggle-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-container{ background: var(--paper); border-radius: 100px; padding: 5px; display: inline-flex; gap: 4px; box-shadow: 0 6px 20px rgba(15, 23, 42, 0.07); border: 1px solid var(--line); flex-wrap: wrap; justify-content: center; } .data-pricing-wrapper .toggle-btn{ padding: 10px 24px; border: none; background: transparent; color: var(--muted); font-size: 16px !important; font-weight: 700 !important; cursor: pointer; border-radius: 100px; transition: all 0.3s ease; white-space: nowrap; display: flex; align-items: center; gap: 8px; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn{ padding: 10px 24px; border: none; background: transparent; color: var(--muted) !important; font-size: 16px !important; font-weight: 700 !important; cursor: pointer; border-radius: 100px; transition: all 0.3s ease; white-space: nowrap; display: flex; align-items: center; gap: 8px; } .data-pricing-wrapper .toggle-text, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-text{ display: block; } .data-pricing-wrapper .toggle-discount{ display: inline-block; font-size: 12px; font-weight: 700; background: rgba(16, 185, 129, 0.12); color: var(--g-dark); padding: 2px 9px; border-radius: 100px; transition: all 0.3s ease; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-discount{ display: inline-block; font-size: 12px; font-weight: 700; background: rgba(16, 185, 129, 0.12); color: var(--g-dark) !important; padding: 2px 9px; border-radius: 100px; transition: all 0.3s ease; } .data-pricing-wrapper .toggle-btn.active, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn.active{ background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%); color: #fff !important; box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3); } .data-pricing-wrapper .toggle-btn.active .toggle-discount{ background: rgba(255, 255, 255, 0.25); color: #fff; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn.active .toggle-discount{ background: rgba(255, 255, 255, 0.25); color: #fff !important; } .data-pricing-wrapper .toggle-btn:hover:not(.active), .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn:hover:not(.active){ color: var(--g) !important; } /* Grid */ .data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l /* Grid */ .data-pricing-wrapper .pricing-container{ width: 88%; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; } .data-pricing-wrapper .pricing-card, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card{ background: var(--paper); border-radius: 18px; padding: 24px 22px; position: relative; border: 1px solid var(--line); box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05); display: flex; flex-direction: column; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease; } /* Card giu nguyen the hien tu HTML server tra ve. Truoc day .card-visible do script rieng cua trang gan vao, ma script do da bi go khi chuyen sang plugin gia, nen card dung o opacity:0 va khong bao gio hien ra du bam toggle hay khong. */ .data-pricing-wrapper .pricing-card.card-visible, .et-db.et-db.et-db #et-boc .et-l /* Card giu nguyen the hien tu HTML server tra ve. Truoc day .card-visible do script rieng cua trang gan vao, .et-db.et-db.et-db #et-boc .et-l ma script do da bi go khi chuyen sang plugin gia, .et-db.et-db.et-db #et-boc .et-l nen card dung o opacity:0 va khong bao gio hien ra du bam toggle hay khong. */ .data-pricing-wrapper .pricing-card.card-visible{ opacity: 1; transform: none; } /* Khoi tfa_pricing boc quanh tung card, de no khong thanh mot o luoi rieng. */ .data-pricing-wrapper .pricing-container > .tfa-pricing, .et-db.et-db.et-db #et-boc .et-l /* Khoi tfa_pricing boc quanh tung card, .et-db.et-db.et-db #et-boc .et-l de no khong thanh mot o luoi rieng. */ .data-pricing-wrapper .pricing-container > .tfa-pricing{ display: contents; } /* Doi muc gia: card nay len mot nhip. is-switching do plugin gan trong 320ms. */ .data-pricing-wrapper .tfa-pricing.is-switching .pricing-card, .et-db.et-db.et-db #et-boc .et-l /* Doi muc gia: card nay len mot nhip. is-switching do plugin gan trong 320ms. */ .data-pricing-wrapper .tfa-pricing.is-switching .pricing-card{ animation: cardPop 0.32s cubic-bezier(0.22, 1, 0.36, 1); } @keyframes cardPop { 0% { opacity: 0.35; transform: translateY(8px) scale(0.985); } 100% { opacity: 1; transform: none; } } /* Visible: transition drives fade+slide in */ .data-pricing-wrapper .pricing-card.card-visible, .et-db.et-db.et-db #et-boc .et-l /* Visible: transition drives fade+slide in */ .data-pricing-wrapper .pricing-card.card-visible{ opacity: 1; transform: translateY(0); } /* Exit: fast fade up */ .data-pricing-wrapper .pricing-card.card-exit, .et-db.et-db.et-db #et-boc .et-l /* Exit: fast fade up */ .data-pricing-wrapper .pricing-card.card-exit{ opacity: 0 !important; transform: translateY(-12px) !important; transition: opacity 0.18s ease-in !important, transform 0.18s ease-in !important; } /* Hover — only when visible */ .data-pricing-wrapper .pricing-card:hover, .et-db.et-db.et-db #et-boc .et-l /* Hover — only when visible */ .data-pricing-wrapper .pricing-card:hover{ transform: translateY(-6px); border-color: rgba(16, 185, 129, 0.35); box-shadow: 0 16px 42px rgba(15, 23, 42, 0.10); } /* Hidden */ .data-pricing-wrapper .pricing-card.card-hidden, .et-db.et-db.et-db #et-boc .et-l /* Hidden */ .data-pricing-wrapper .pricing-card.card-hidden{ display: none !important; } /* Stagger transition-delay per card index (CSS-driven) */ .data-pricing-wrapper .pricing-card[data-stagger="0"], .et-db.et-db.et-db #et-boc .et-l /* Stagger transition-delay per card index (CSS-driven) */ .data-pricing-wrapper .pricing-card[data-stagger="0"]{ transition-delay: 0ms; } .data-pricing-wrapper .pricing-card[data-stagger="1"], .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card[data-stagger="1"]{ transition-delay: 80ms; } .data-pricing-wrapper .pricing-card[data-stagger="2"], .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card[data-stagger="2"]{ transition-delay: 160ms; } .data-pricing-wrapper .pricing-card[data-stagger="3"], .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card[data-stagger="3"]{ transition-delay: 240ms; } /* Featured — keeps DA101 amber identity */ .data-pricing-wrapper .pricing-card.featured, .et-db.et-db.et-db #et-boc .et-l /* Featured — keeps DA101 amber identity */ .data-pricing-wrapper .pricing-card.featured{ background: linear-gradient(135deg, #FFFEF0 0%, #FFFAEB 100%); border: 1.5px solid var(--amber); box-shadow: 0 16px 44px rgba(245, 158, 11, 0.14); } .data-pricing-wrapper .pricing-card.featured:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card.featured:hover{ transform: translateY(-6px); border-color: var(--amber); box-shadow: 0 18px 48px rgba(245, 158, 11, 0.22); } /* Badge */ .data-pricing-wrapper .card-badge{ position: absolute; top: -12px; right: 22px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #fff; }.et-db.et-db.et-db #et-boc .et-l /* Badge */ .data-pricing-wrapper .card-badge{ position: absolute; top: -12px; right: 22px; display: inline-flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 100px; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; color: #fff !important; } .data-pricing-wrapper .card-badge svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-badge svg{ width: 12px; height: 12px; } /* Popular badge — DA101 amber */ .data-pricing-wrapper .card-badge.popular, .et-db.et-db.et-db #et-boc .et-l /* Popular badge — DA101 amber */ .data-pricing-wrapper .card-badge.popular{ background: linear-gradient(135deg, var(--amber) 0%, var(--amber-dark) 100%); box-shadow: 0 6px 14px rgba(245, 158, 11, 0.32); } /* Icon */ .data-pricing-wrapper .card-icon{ width: 48px; height: 48px; border-radius: 14px; background: rgba(16, 185, 129, 0.12); color: var(--g); display: flex; align-items: center; justify-content: center; margin-bottom: 12px; }.et-db.et-db.et-db #et-boc .et-l /* Icon */ .data-pricing-wrapper .card-icon{ width: 48px; height: 48px; border-radius: 14px; background: rgba(16, 185, 129, 0.12); color: var(--g) !important; display: flex; align-items: center; justify-content: center; margin-bottom: 12px; } .data-pricing-wrapper .card-icon svg, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-icon svg{ width: 24px; height: 24px; } /* Featured icon — amber tint */ .data-pricing-wrapper .pricing-card.featured .card-icon{ background: rgba(245, 158, 11, 0.14); color: var(--amber-dark); }.et-db.et-db.et-db #et-boc .et-l /* Featured icon — amber tint */ .data-pricing-wrapper .pricing-card.featured .card-icon{ background: rgba(245, 158, 11, 0.14); color: var(--amber-dark) !important; } /* Title */ .data-pricing-wrapper .card-title, .et-db.et-db.et-db #et-boc .et-l /* Title */ .data-pricing-wrapper .card-title{ text-decoration: none; display: block; margin-bottom: 8px; min-height: 64px; } .data-pricing-wrapper .card-title h3, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-title h3{ font-size: 21px !important; font-weight: 700 !important; color: var(--ink) !important; margin: 0 0 4px !important; line-height: 1.3 !important; } .data-pricing-wrapper .card-title h4, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .card-title h4{ font-size: 14px !important; font-weight: 600 !important; color: var(--muted) !important; line-height: 1.4 !important; margin: 0 !important; } /* Price */ .data-pricing-wrapper .card-price, .et-db.et-db.et-db #et-boc .et-l /* Price */ .data-pricing-wrapper .card-price{ margin: 10px 0 14px 0; min-height: 58px; } .data-pricing-wrapper .price-main, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-main{ display: flex; align-items: baseline; gap: 8px; margin-bottom: 6px; } .data-pricing-wrapper .price-current, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-current{ font-size: 30px !important; font-weight: 800 !important; color: var(--ink) !important; line-height: 1 !important; letter-spacing: -0.02em; } .data-pricing-wrapper .price-currency, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-currency{ font-size: 15px !important; font-weight: 600 !important; color: var(--muted) !important; } .data-pricing-wrapper .price-info, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-info{ display: flex; align-items: center; gap: 10px; } .data-pricing-wrapper .price-old{ font-size: 14px; color: #9CA3AF; text-decoration: line-through; font-weight: 500; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-old{ font-size: 14px; color: #9CA3AF !important; text-decoration: line-through; font-weight: 500; } .data-pricing-wrapper .price-discount{ background: #FEF2F2; color: var(--danger); padding: 3px 11px; border-radius: 100px; font-size: 12px; font-weight: 700; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-discount{ background: #FEF2F2; color: var(--danger) !important; padding: 3px 11px; border-radius: 100px; font-size: 12px; font-weight: 700; } /* Button */ .data-pricing-wrapper .pricing-btn, .et-db.et-db.et-db #et-boc .et-l /* Button */ .data-pricing-wrapper .pricing-btn{ width: 100% !important; padding: 12px 26px !important; font-size: 16px !important; font-weight: 700 !important; background: var(--paper) !important; color: var(--g) !important; border: 2px solid var(--g) !important; border-radius: 12px !important; cursor: pointer !important; transition: all 0.3s ease !important; margin-bottom: 16px !important; text-decoration: none !important; display: inline-block !important; text-align: center !important; position: relative !important; } .data-pricing-wrapper .pricing-btn:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn:hover{ background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%) !important; color: #fff !important; transform: translateY(-2px) !important; box-shadow: 0 10px 24px rgba(16, 185, 129, 0.28) !important; } .data-pricing-wrapper .pricing-btn.primary, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn.primary{ background: linear-gradient(135deg, var(--g) 0%, var(--g-dark) 100%) !important; color: #fff !important; } .data-pricing-wrapper .pricing-btn.primary:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn.primary:hover{ background: linear-gradient(135deg, var(--g-dark) 0%, var(--g-deep) 100%) !important; } /* Featured button — DA101 amber */ .data-pricing-wrapper .pricing-card.featured .pricing-btn, .et-db.et-db.et-db #et-boc .et-l /* Featured button — DA101 amber */ .data-pricing-wrapper .pricing-card.featured .pricing-btn{ background: linear-gradient(135deg, var(--amber) 0%, var(--amber-dark) 100%) !important; color: #fff !important; border-color: var(--amber) !important; box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3) !important; } .data-pricing-wrapper .pricing-card.featured .pricing-btn:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-card.featured .pricing-btn:hover{ background: linear-gradient(135deg, var(--amber-dark) 0%, #B45309 100%) !important; box-shadow: 0 10px 24px rgba(245, 158, 11, 0.4) !important; } /* Loading state */ .data-pricing-wrapper .pricing-btn.loading, .et-db.et-db.et-db #et-boc .et-l /* Loading state */ .data-pricing-wrapper .pricing-btn.loading{ pointer-events: none; opacity: 0.7; } .data-pricing-wrapper .pricing-btn.loading::after, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-btn.loading::after{ content: ''; position: absolute; width: 16px; height: 16px; top: 50%; right: 20px; margin-top: -8px; border: 2px solid currentColor; border-radius: 50%; border-top-color: transparent; animation: spinner 0.6s linear infinite; } @keyframes spinner { to { transform: rotate(360deg); } } /* Features */ .data-pricing-wrapper .card-features-wrapper, .et-db.et-db.et-db #et-boc .et-l /* Features */ .data-pricing-wrapper .card-features-wrapper{ flex-grow: 1; } .data-pricing-wrapper .features-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-header{ font-size: 12px !important; font-weight: 700 !important; color: var(--muted) !important; text-transform: uppercase !important; letter-spacing: 0.06em !important; margin-bottom: 8px !important; } .data-pricing-wrapper .features-list, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-list{ list-style: none; padding: 0; margin: 0; } .data-pricing-wrapper .features-list li{ position: relative; padding: 6px 0 6px 28px; color: var(--ink2); font-size: 15px; font-weight: 500; line-height: 1.5; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-list li{ position: relative; padding: 6px 0 6px 28px; color: var(--ink2) !important; font-size: 15px; font-weight: 500; line-height: 1.5; } .data-pricing-wrapper .features-list li::before{ content: '\2713'; position: absolute; left: 0; top: 7px; width: 19px; height: 19px; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: var(--g); font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; line-height: 1; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .features-list li::before{ content: '\2713'; position: absolute; left: 0; top: 7px; width: 19px; height: 19px; border-radius: 50%; background: rgba(16, 185, 129, 0.12); color: var(--g) !important; font-size: 11px; font-weight: 800; display: flex; align-items: center; justify-content: center; line-height: 1; } /* Featured features checkmark — amber */ .data-pricing-wrapper .pricing-card.featured .features-list li::before{ background: rgba(245, 158, 11, 0.14); color: var(--amber-dark); }.et-db.et-db.et-db #et-boc .et-l /* Featured features checkmark — amber */ .data-pricing-wrapper .pricing-card.featured .features-list li::before{ background: rgba(245, 158, 11, 0.14); color: var(--amber-dark) !important; } /* Footer */ .data-pricing-wrapper .pricing-footer, .et-db.et-db.et-db #et-boc .et-l /* Footer */ .data-pricing-wrapper .pricing-footer{ text-align: center; margin-top: 28px; padding: 20px; background: var(--paper); border-radius: 18px; border: 1px solid var(--line); box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05); width: 88%; margin-left: auto; margin-right: auto; } .data-pricing-wrapper .pricing-footer p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer p{ font-size: 15px !important; color: var(--ink2) !important; font-weight: 500 !important; margin: 6px 0 !important; line-height: 1.6 !important; display: flex; align-items: center; justify-content: center; gap: 8px; } .data-pricing-wrapper .pricing-footer svg{ width: 18px; height: 18px; color: var(--g); flex-shrink: 0; }.et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer svg{ width: 18px; height: 18px; color: var(--g) !important; flex-shrink: 0; } .data-pricing-wrapper .pricing-footer a, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer a{ color: var(--g) !important; text-decoration: none !important; font-weight: 600 !important; } .data-pricing-wrapper .pricing-footer a:hover, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer a:hover{ text-decoration: underline !important; } /* ===== Responsive ===== */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* ===== Responsive ===== */ @media (max-width: 1024px){ .data-pricing-wrapper .pricing-container, .data-pricing-wrapper .pricing-footer { width: 92%; max-width: 92%; } } @media (min-width: 769px) and (max-width: 1024px) { .data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-container{ grid-template-columns: repeat(2, 1fr); }} @media (min-width: 1025px) { .data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-container{ grid-template-columns: repeat(4, 1fr); }} @media (max-width: 768px) { .data-pricing-wrapper, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper{ padding: 44px 0; } .data-pricing-wrapper .pricing-header, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-header{ margin-bottom: 24px; } .data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-container{ grid-template-columns: 1fr; gap: 18px; width: 90%; } .data-pricing-wrapper .pricing-footer, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer{ width: 90%; } .data-pricing-wrapper .toggle-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-container{ width: 90%; gap: 2px; padding: 4px; } .data-pricing-wrapper .toggle-btn, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn{ font-size: 14px !important; padding: 9px 14px; flex: 1; min-width: 0; justify-content: center; } .data-pricing-wrapper .toggle-discount, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-discount{ font-size: 11px; padding: 2px 7px; } .data-pricing-wrapper .pricing-step-notice p, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-step-notice p{ font-size: 14px !important; }} @media (max-width: 480px) { .data-pricing-wrapper .pricing-container, .data-pricing-wrapper .pricing-footer, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-container, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .pricing-footer{ width: 90%; } .data-pricing-wrapper .price-current, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .price-current{ font-size: 28px !important; } .data-pricing-wrapper .toggle-btn, .et-db.et-db.et-db #et-boc .et-l .data-pricing-wrapper .toggle-btn{ padding: 8px 10px; font-size: 12px !important; }}
    .combo-projects-section, .combo-projects-section *, .et-db.et-db.et-db #et-boc .et-l .combo-projects-section, .et-db.et-db.et-db #et-boc .et-l .combo-projects-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .combo-projects-section, .et-db.et-db.et-db #et-boc .et-l .combo-projects-section{ --g: #10B981; --g-dark: #059669; --ink: #0F172A; --ink2: #1E293B; --muted: #64748B; --line: #E3E8EF; --paper: #FFFFFF; padding: 56px 0; background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); position: relative; overflow: hidden; } .combo-projects-section .combo-bg, .et-db.et-db.et-db #et-boc .et-l .combo-projects-section .combo-bg{ position: absolute; inset: 0; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; z-index: 0; } .combo-projects-container, .et-db.et-db.et-db #et-boc .et-l .combo-projects-container{ position: relative; z-index: 1; } .combo-projects-header, .et-db.et-db.et-db #et-boc .et-l .combo-projects-header{ text-align: center; max-width: 760px; margin: 0 auto 40px; padding: 0 24px; } .combo-projects-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark); margin-bottom: 14px; }.et-db.et-db.et-db #et-boc .et-l .combo-projects-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark) !important; margin-bottom: 14px; } .combo-projects-header h2, .et-db.et-db.et-db #et-boc .et-l .combo-projects-header h2{ font-size: clamp(28px, 4vw, 42px) !important; font-weight: 800; margin: 0 0 12px; color: var(--ink) !important; line-height: 1.15; letter-spacing: -0.02em; } .combo-projects-header .combo-subtitle, .et-db.et-db.et-db #et-boc .et-l .combo-projects-header .combo-subtitle{ font-size: 17px; color: var(--muted) !important; line-height: 1.6; margin: 0; } /* Marquee */ .combo-projects-slider-wrapper, .et-db.et-db.et-db #et-boc .et-l /* Marquee */ .combo-projects-slider-wrapper{ position: relative; overflow: hidden; padding: 14px 0; } .combo-projects-slider-track, .et-db.et-db.et-db #et-boc .et-l .combo-projects-slider-track{ display: flex; gap: 24px; width: max-content; padding: 0 12px; } .combo-slide-left, .et-db.et-db.et-db #et-boc .et-l .combo-slide-left{ animation: slideProjectsLeft 55s linear infinite; } .combo-slide-right, .et-db.et-db.et-db #et-boc .et-l .combo-slide-right{ animation: slideProjectsRight 55s linear infinite; } .combo-projects-slider-wrapper:hover .combo-projects-slider-track, .et-db.et-db.et-db #et-boc .et-l .combo-projects-slider-wrapper:hover .combo-projects-slider-track{ animation-play-state: paused; } @keyframes slideProjectsLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } @keyframes slideProjectsRight { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } } /* Card */ .combo-project-card, .et-db.et-db.et-db #et-boc .et-l /* Card */ .combo-project-card{ flex: 0 0 auto; width: 460px; height: 290px; position: relative; border-radius: 18px !important; overflow: hidden; display: block; border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(15, 23, 42, 0.10) !important; transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease; } .combo-project-image, .et-db.et-db.et-db #et-boc .et-l .combo-project-image{ width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: top center !important; display: block; transition: transform 0.5s ease; } .combo-project-card:hover, .et-db.et-db.et-db #et-boc .et-l .combo-project-card:hover{ transform: translateY(-8px); box-shadow: 0 22px 50px rgba(16, 185, 129, 0.22) !important; } .combo-project-card:hover .combo-project-image, .et-db.et-db.et-db #et-boc .et-l .combo-project-card:hover .combo-project-image{ transform: scale(1.06); } /* Zoom hint on hover */ .combo-project-zoom{ position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; background: rgba(255, 255, 255, 0.92); color: var(--g); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 4; opacity: 0; transform: scale(0.6); transition: all 0.3s ease; }.et-db.et-db.et-db #et-boc .et-l /* Zoom hint on hover */ .combo-project-zoom{ position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; background: rgba(255, 255, 255, 0.92); color: var(--g) !important; border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 4; opacity: 0; transform: scale(0.6); transition: all 0.3s ease; } .combo-project-zoom svg, .et-db.et-db.et-db #et-boc .et-l .combo-project-zoom svg{ width: 18px; height: 18px; } .combo-project-card:hover .combo-project-zoom, .et-db.et-db.et-db #et-boc .et-l .combo-project-card:hover .combo-project-zoom{ opacity: 1; transform: scale(1); } /* Scroll reveal (header + rows) */ .co-js .combo-projects-header, .co-js .combo-projects-row, .et-db.et-db.et-db #et-boc .et-l /* Scroll reveal (header + rows) */ .co-js .combo-projects-header, .et-db.et-db.et-db #et-boc .et-l .co-js .combo-projects-row{ opacity: 0; transform: translateY(22px); transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } .co-js .combo-projects-header.co-in, .co-js .combo-projects-row.co-in, .et-db.et-db.et-db #et-boc .et-l .co-js .combo-projects-header.co-in, .et-db.et-db.et-db #et-boc .et-l .co-js .combo-projects-row.co-in{ opacity: 1; transform: none; } .co-js .combo-projects-row:nth-of-type(2), .et-db.et-db.et-db #et-boc .et-l .co-js .combo-projects-row:nth-of-type(2){ transition-delay: 0.1s; } /* Responsive */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* Responsive */ @media (max-width: 1024px){ .combo-projects-section { padding: 48px 0; } } @media (max-width: 768px) { .combo-projects-section, .et-db.et-db.et-db #et-boc .et-l .combo-projects-section{ padding: 44px 0; } .combo-projects-header, .et-db.et-db.et-db #et-boc .et-l .combo-projects-header{ margin-bottom: 28px; } .combo-project-card, .et-db.et-db.et-db #et-boc .et-l .combo-project-card{ width: 340px; height: 214px; }} @media (max-width: 480px) { .combo-project-card, .et-db.et-db.et-db #et-boc .et-l .combo-project-card{ width: 280px; height: 176px; }}
    THÀNH QUẢ HỌC VIÊN

    Projects từ học viên thực tế

    Khám phá các dự án Python ấn tượng được xây dựng bởi học viên sau khóa học

    (function () { // Duplicate cards for seamless infinite marquee function setupTrack(id) { var track = document.getElementById(id); if (!track) return; Array.prototype.slice.call(track.children).forEach(function (card) { track.appendChild(card.cloneNode(true)); }); } setupTrack('comboProjectsRow1'); setupTrack('comboProjectsRow2'); // Scroll reveal for header + rows var section = document.querySelector('.combo-projects-section'); if (!section) return; var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduce || !('IntersectionObserver' in window)) return; section.classList.add('co-js'); var els = [].slice.call(section.querySelectorAll('.combo-projects-header, .combo-projects-row')); var io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { en.target.classList.add('co-in'); io.unobserve(en.target); } }); }, { threshold: 0.1, rootMargin: '0px 0px -60px 0px' }); els.forEach(function (el) { io.observe(el); }); })();
    .trainer-section, .et-db.et-db.et-db #et-boc .et-l .trainer-section{ --primary: #10B981; --primary-dark: #059669; --dark: #0F172A; --dark-800: #1E293B; --gray: #64748B; --gray-light: #F1F5F9; --white: #FFFFFF; --shadow-md: 0 4px 20px rgba(0,0,0,0.08); --shadow-lg: 0 12px 40px rgba(0,0,0,0.15); } .trainer-section, .et-db.et-db.et-db #et-boc .et-l .trainer-section{ padding: 100px 0; background: linear-gradient(135deg, #F0FDF4 0%, #FFFFFF 50%, #F0F9FF 100%); position: relative; overflow: hidden; font-family: 'League Spartan', sans-serif; } .trainer-section *, .et-db.et-db.et-db #et-boc .et-l .trainer-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } /* Decorative Background Elements */ .trainer-section::before, .et-db.et-db.et-db #et-boc .et-l /* Decorative Background Elements */ .trainer-section::before{ content: ''; position: absolute; top: -100px; right: -100px; width: 400px; height: 400px; background: radial-gradient(circle, rgba(16,185,129,0.1) 0%, transparent 70%); border-radius: 50%; pointer-events: none; } .trainer-section::after, .et-db.et-db.et-db #et-boc .et-l .trainer-section::after{ content: ''; position: absolute; bottom: -150px; left: -150px; width: 500px; height: 500px; background: radial-gradient(circle, rgba(59,130,246,0.08) 0%, transparent 70%); border-radius: 50%; pointer-events: none; } .trainer-container, .et-db.et-db.et-db #et-boc .et-l .trainer-container{ width: 85%; margin: 0 auto; padding: 0 24px; position: relative; z-index: 2; } .trainer-header, .et-db.et-db.et-db #et-boc .et-l .trainer-header{ text-align: center; max-width: 800px; margin: 0 auto 60px; } .trainer-badge{ display: inline-block; background: linear-gradient(135deg, #10B981 0%, #059669 100%); padding: 10px 20px; border-radius: 25px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: white; margin-bottom: 20px; box-shadow: 0 4px 15px rgba(16,185,129,0.3); }.et-db.et-db.et-db #et-boc .et-l .trainer-badge{ display: inline-block; background: linear-gradient(135deg, #10B981 0%, #059669 100%); padding: 10px 20px; border-radius: 25px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.5px; color: white !important; margin-bottom: 20px; box-shadow: 0 4px 15px rgba(16,185,129,0.3); } .trainer-header h2, .et-db.et-db.et-db #et-boc .et-l .trainer-header h2{ font-size: 52px!important; font-weight: 900; margin-bottom: 16px; background: linear-gradient(135deg, #0F172A 0%, #10B981 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; line-height: 1.2; } .trainer-content, .et-db.et-db.et-db #et-boc .et-l .trainer-content{ display: grid; grid-template-columns: 350px 1fr; gap: 60px; align-items: start; margin-top: 60px; background: white; padding: 48px; border-radius: 32px; box-shadow: var(--shadow-lg); position: relative; } .trainer-left, .et-db.et-db.et-db #et-boc .et-l .trainer-left{ display: flex; flex-direction: column; align-items: center; gap: 24px; } .trainer-image{ width: 280px; height: 280px; border-radius: 28px; background: linear-gradient(135deg, #10B981 0%, #059669 100%); display: flex; align-items: center; justify-content: center; font-size: 120px; color: white; overflow: hidden; box-shadow: 0 20px 60px rgba(16,185,129,0.3); position: relative; border: 6px solid white; }.et-db.et-db.et-db #et-boc .et-l .trainer-image{ width: 280px; height: 280px; border-radius: 28px; background: linear-gradient(135deg, #10B981 0%, #059669 100%); display: flex; align-items: center; justify-content: center; font-size: 120px; color: white !important; overflow: hidden; box-shadow: 0 20px 60px rgba(16,185,129,0.3); position: relative; border: 6px solid white; } .trainer-image::after, .et-db.et-db.et-db #et-boc .et-l .trainer-image::after{ content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 0%, rgba(255,255,255,0.1) 100%); pointer-events: none; } .trainer-image img, .et-db.et-db.et-db #et-boc .et-l .trainer-image img{ width: 100%; height: 100%; object-fit: cover; } /* Stats Cards */ .trainer-stats, .et-db.et-db.et-db #et-boc .et-l /* Stats Cards */ .trainer-stats{ display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; } .stat-card, .et-db.et-db.et-db #et-boc .et-l .stat-card{ background: linear-gradient(135deg, #F0FDF4 0%, #ECFDF5 100%); padding: 16px; border-radius: 16px; text-align: center; border: 2px solid #D1FAE5; } .stat-number{ font-size: 28px; font-weight: 800; color: #059669; line-height: 1; margin-bottom: 4px; }.et-db.et-db.et-db #et-boc .et-l .stat-number{ font-size: 28px; font-weight: 800; color: #059669 !important; line-height: 1; margin-bottom: 4px; } .stat-label{ font-size: 12px; font-weight: 600; color: #047857; text-transform: uppercase; letter-spacing: 0.5px; }.et-db.et-db.et-db #et-boc .et-l .stat-label{ font-size: 12px; font-weight: 600; color: #047857 !important; text-transform: uppercase; letter-spacing: 0.5px; } .trainer-info h3{ font-size: 36px!IMPORTANT; font-weight: 900; margin-bottom: 16px; color: var(--dark); line-height: 1.2; }.et-db.et-db.et-db #et-boc .et-l .trainer-info h3{ font-size: 36px!IMPORTANT; font-weight: 900; margin-bottom: 16px; color: var(--dark) !important; line-height: 1.2; } .trainer-titles, .et-db.et-db.et-db #et-boc .et-l .trainer-titles{ margin-bottom: 28px; padding-left: 0; } .trainer-title{ font-size: 16px; color: var(--gray); font-weight: 600; margin-bottom: 8px; line-height: 1.6; position: relative; }.et-db.et-db.et-db #et-boc .et-l .trainer-title{ font-size: 16px; color: var(--gray) !important; font-weight: 600; margin-bottom: 8px; line-height: 1.6; position: relative; } .trainer-title:first-child{ font-size: 19px; font-weight: 700; color: #10B981; }.et-db.et-db.et-db #et-boc .et-l .trainer-title:first-child{ font-size: 19px; font-weight: 700; color: #10B981 !important; } .trainer-info .description{ color: var(--gray); line-height: 1.8; font-size: 17px; margin-bottom: 32px; background: #F8FAFC; padding: 20px; border-radius: 16px; border-left: 4px solid #10B981; }.et-db.et-db.et-db #et-boc .et-l .trainer-info .description{ color: var(--gray) !important; line-height: 1.8; font-size: 17px; margin-bottom: 32px; background: #F8FAFC; padding: 20px; border-radius: 16px; border-left: 4px solid #10B981; } /* Social Links with Brand Colors */ .social-links-wrapper, .et-db.et-db.et-db #et-boc .et-l /* Social Links with Brand Colors */ .social-links-wrapper{ background: linear-gradient(135deg, #F8FAFC 0%, #F1F5F9 100%); padding: 24px; border-radius: 20px; border: 2px solid #E2E8F0; } .social-links-title{ font-size: 14px; font-weight: 700; color: var(--dark); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; text-align: center; }.et-db.et-db.et-db #et-boc .et-l .social-links-title{ font-size: 14px; font-weight: 700; color: var(--dark) !important; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 16px; text-align: center; } .social-links, .et-db.et-db.et-db #et-boc .et-l .social-links{ display: flex; gap: 12px; justify-content: center; flex-wrap: nowrap; } .social-link{ display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; text-decoration: none; color: white; transition: all 0.3s ease; position: relative; overflow: hidden; }.et-db.et-db.et-db #et-boc .et-l .social-link{ display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; text-decoration: none; color: white !important; transition: all 0.3s ease; position: relative; overflow: hidden; } .social-link::before, .et-db.et-db.et-db #et-boc .et-l .social-link::before{ content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,0.2) 0%, transparent 100%); opacity: 0; transition: opacity 0.3s ease; } .social-link:hover::before, .et-db.et-db.et-db #et-boc .et-l .social-link:hover::before{ opacity: 1; } .social-link:hover, .et-db.et-db.et-db #et-boc .et-l .social-link:hover{ transform: translateY(-6px) scale(1.05); box-shadow: 0 12px 30px rgba(0,0,0,0.2); } .social-link svg, .et-db.et-db.et-db #et-boc .et-l .social-link svg{ width: 24px; height: 24px; fill: white; position: relative; z-index: 1; } /* Brand Colors */ .social-link.facebook, .et-db.et-db.et-db #et-boc .et-l /* Brand Colors */ .social-link.facebook{ background: linear-gradient(135deg, #1877F2 0%, #0C63D4 100%); box-shadow: 0 4px 15px rgba(24,119,242,0.4); } .social-link.linkedin, .et-db.et-db.et-db #et-boc .et-l .social-link.linkedin{ background: linear-gradient(135deg, #0A66C2 0%, #004182 100%); box-shadow: 0 4px 15px rgba(10,102,194,0.4); } .social-link.youtube, .et-db.et-db.et-db #et-boc .et-l .social-link.youtube{ background: linear-gradient(135deg, #FF0000 0%, #CC0000 100%); box-shadow: 0 4px 15px rgba(255,0,0,0.4); } .social-link.instagram, .et-db.et-db.et-db #et-boc .et-l .social-link.instagram{ background: linear-gradient(135deg, #E4405F 0%, #C13584 50%, #833AB4 100%); box-shadow: 0 4px 15px rgba(228,64,95,0.4); } .social-link.tiktok, .et-db.et-db.et-db #et-boc .et-l .social-link.tiktok{ background: linear-gradient(135deg, #000000 0%, #25F4EE 100%); box-shadow: 0 4px 15px rgba(0,0,0,0.4); } /* Responsive Design */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* Responsive Design */ @media (max-width: 1024px){ .trainer-container { width: 90%; } } @media (max-width: 768px) { .trainer-section, .et-db.et-db.et-db #et-boc .et-l .trainer-section{ padding: 60px 0; } .trainer-section::before, .trainer-section::after, .et-db.et-db.et-db #et-boc .et-l .trainer-section::before, .et-db.et-db.et-db #et-boc .et-l .trainer-section::after{ display: none; } .trainer-container, .et-db.et-db.et-db #et-boc .et-l .trainer-container{ width: 90%; padding: 0; } .trainer-header h2, .et-db.et-db.et-db #et-boc .et-l .trainer-header h2{ font-size: 36px; } .trainer-content, .et-db.et-db.et-db #et-boc .et-l .trainer-content{ grid-template-columns: 1fr; text-align: center; gap: 40px; padding: 32px 24px; } .trainer-image, .et-db.et-db.et-db #et-boc .et-l .trainer-image{ width: 220px; height: 220px; font-size: 80px; margin: 0 auto; } .trainer-stats, .et-db.et-db.et-db #et-boc .et-l .trainer-stats{ max-width: 280px; margin: 0 auto; } .stat-number, .et-db.et-db.et-db #et-boc .et-l .stat-number{ font-size: 24px; } .stat-label, .et-db.et-db.et-db #et-boc .et-l .stat-label{ font-size: 11px; } .trainer-info h3, .et-db.et-db.et-db #et-boc .et-l .trainer-info h3{ font-size: 28px; } .trainer-titles, .et-db.et-db.et-db #et-boc .et-l .trainer-titles{ margin-bottom: 24px; padding-left: 0; } .trainer-title, .et-db.et-db.et-db #et-boc .et-l .trainer-title{ font-size: 14px; } .trainer-title:first-child, .et-db.et-db.et-db #et-boc .et-l .trainer-title:first-child{ font-size: 16px; } .trainer-info .description, .et-db.et-db.et-db #et-boc .et-l .trainer-info .description{ font-size: 15px; padding: 16px; } .social-links-wrapper, .et-db.et-db.et-db #et-boc .et-l .social-links-wrapper{ padding: 20px; } .social-links, .et-db.et-db.et-db #et-boc .et-l .social-links{ gap: 10px; } .social-link, .et-db.et-db.et-db #et-boc .et-l .social-link{ width: 48px; height: 48px; } .social-link svg, .et-db.et-db.et-db #et-boc .et-l .social-link svg{ width: 22px; height: 22px; }} @media (max-width: 480px) { .trainer-container, .et-db.et-db.et-db #et-boc .et-l .trainer-container{ width: 90%; padding: 0; } .trainer-header h2, .et-db.et-db.et-db #et-boc .et-l .trainer-header h2{ font-size: 32px !important; } .trainer-info h3, .et-db.et-db.et-db #et-boc .et-l .trainer-info h3{ font-size: 24px; } .trainer-image, .et-db.et-db.et-db #et-boc .et-l .trainer-image{ width: 200px; height: 200px; font-size: 70px; } .trainer-title, .et-db.et-db.et-db #et-boc .et-l .trainer-title{ font-size: 13px; } .trainer-title:first-child, .et-db.et-db.et-db #et-boc .et-l .trainer-title:first-child{ font-size: 15px; } .social-links, .et-db.et-db.et-db #et-boc .et-l .social-links{ gap: 8px; } .social-link, .et-db.et-db.et-db #et-boc .et-l .social-link{ width: 44px; height: 44px; } .social-link svg, .et-db.et-db.et-db #et-boc .et-l .social-link svg{ width: 20px; height: 20px; }}
    Người đồng hành cùng bạn

    Giảng viên của bạn

    Hieu Nguyen Trung
    7+
    Năm kinh nghiệm
    2000+
    Học viên

    Hieu Nguyen Trung

    Founder & CEO at The Future Analyst
    ex-Senior Data Analyst at VNG
    ex-Process Improvement Consultant at Techcombank

    7 năm kinh nghiệm trong lĩnh vực Data Analytics ở ngân hàng & fintech. Đào tạo hơn 2000 học viên cá nhân & doanh nghiệp với các khóa học SQL, Python, Power BI & Tư duy phân tích. Diễn giả cho nhiều sự kiện Data Analytics tại FTU2, UEL, RMIT, UIT, VNG, Napas.

    .post-advantages-section, .post-advantages-section *, .et-db.et-db.et-db #et-boc .et-l .post-advantages-section, .et-db.et-db.et-db #et-boc .et-l .post-advantages-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .post-advantages-section, .et-db.et-db.et-db #et-boc .et-l .post-advantages-section{ --g: #10B981; --g-dark: #059669; --ink: #0F172A; --ink2: #1E293B; --muted: #64748B; --line: #E3E8EF; --line-soft: #EEF2F6; --paper: #FFFFFF; padding: 56px 0; background: linear-gradient(180deg, #FFFFFF 0%, #F0FDF4 55%, #FFFFFF 100%); position: relative; overflow: hidden; } .post-advantages-section .pa-bg, .et-db.et-db.et-db #et-boc .et-l .post-advantages-section .pa-bg{ position: absolute; inset: 0; background: url('data:image/svg+xml,%3Csvg width=%2760%27 height=%2760%27 viewBox=%270 0 60 60%27 xmlns=%27http://www.w3.org/2000/svg%27%3E%3Cg fill=%27none%27 fill-rule=%27evenodd%27%3E%3Cg fill=%27%2310B981%27 fill-opacity=%270.04%27%3E%3Cpath d=%27M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z%27/%3E%3C/g%3E%3C/g%3E%3C/svg%3E'); pointer-events: none; } .post-advantages-container, .et-db.et-db.et-db #et-boc .et-l .post-advantages-container{ width: 85%; margin: 0 auto; position: relative; z-index: 1; } /* Header */ .post-advantages-header, .et-db.et-db.et-db #et-boc .et-l /* Header */ .post-advantages-header{ text-align: center; max-width: 760px; margin: 0 auto 36px; } .post-advantages-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark); margin-bottom: 14px; }.et-db.et-db.et-db #et-boc .et-l .post-advantages-badge{ display: inline-block; background: rgba(16, 185, 129, 0.10); padding: 7px 16px; border-radius: 100px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--g-dark) !important; margin-bottom: 14px; } .post-advantages-header h2{ font-size: clamp(28px, 4vw, 42px) !important; font-weight: 800; margin: 0 0 12px; color: var(--ink); line-height: 1.15; letter-spacing: -0.02em; }.et-db.et-db.et-db #et-boc .et-l .post-advantages-header h2{ font-size: clamp(28px, 4vw, 42px) !important; font-weight: 800; margin: 0 0 12px; color: var(--ink) !important; line-height: 1.15; letter-spacing: -0.02em; } .post-advantages-subtitle{ font-size: 17px; color: var(--muted); line-height: 1.6; margin: 0; }.et-db.et-db.et-db #et-boc .et-l .post-advantages-subtitle{ font-size: 17px; color: var(--muted) !important; line-height: 1.6; margin: 0; } /* Grid */ .post-advantages-grid, .post-advantages-grid-row2, .et-db.et-db.et-db #et-boc .et-l /* Grid */ .post-advantages-grid, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid-row2{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; } .post-advantages-grid-row2, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid-row2{ margin-top: 22px; } /* Card */ .advantage-card, .et-db.et-db.et-db #et-boc .et-l /* Card */ .advantage-card{ background: var(--paper); border-radius: 20px; border: 1px solid var(--line); box-shadow: 0 4px 16px rgba(15, 23, 42, 0.05); overflow: hidden; display: flex; flex-direction: column; transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, box-shadow 0.3s ease; } .advantage-card:hover, .et-db.et-db.et-db #et-boc .et-l .advantage-card:hover{ transform: translateY(-6px); border-color: rgba(16, 185, 129, 0.35); box-shadow: 0 18px 46px rgba(15, 23, 42, 0.12); } /* Card image — kept prominent */ .advantage-card-image, .et-db.et-db.et-db #et-boc .et-l /* Card image — kept prominent */ .advantage-card-image{ width: 100%; height: 188px; background: linear-gradient(135deg, #E8F5ED 0%, #D1E7DC 100%); overflow: hidden; } .advantage-card-image img, .et-db.et-db.et-db #et-boc .et-l .advantage-card-image img{ width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.45s ease; } .advantage-card:hover .advantage-card-image img, .et-db.et-db.et-db #et-boc .et-l .advantage-card:hover .advantage-card-image img{ transform: scale(1.05); } /* Card content */ .advantage-card-content, .et-db.et-db.et-db #et-boc .et-l /* Card content */ .advantage-card-content{ padding: 22px; flex: 1; display: flex; flex-direction: column; } .advantage-icon{ width: 46px; height: 46px; background: rgba(16, 185, 129, 0.12); color: var(--g); border-radius: 13px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; }.et-db.et-db.et-db #et-boc .et-l .advantage-icon{ width: 46px; height: 46px; background: rgba(16, 185, 129, 0.12); color: var(--g) !important; border-radius: 13px; display: flex; align-items: center; justify-content: center; margin-bottom: 14px; } .advantage-icon svg, .et-db.et-db.et-db #et-boc .et-l .advantage-icon svg{ width: 24px; height: 24px; } .advantage-card-title{ font-size: 19px; font-weight: 700; color: var(--ink); margin: 0 0 10px; line-height: 1.3; }.et-db.et-db.et-db #et-boc .et-l .advantage-card-title{ font-size: 19px; font-weight: 700; color: var(--ink) !important; margin: 0 0 10px; line-height: 1.3; } .advantage-card-description{ font-size: 15px; color: var(--muted); line-height: 1.6; margin: 0; flex: 1; }.et-db.et-db.et-db #et-boc .et-l .advantage-card-description{ font-size: 15px; color: var(--muted) !important; line-height: 1.6; margin: 0; flex: 1; } /* Scroll reveal */ .pa-js .post-advantages-header, .pa-js .advantage-card, .et-db.et-db.et-db #et-boc .et-l /* Scroll reveal */ .pa-js .post-advantages-header, .et-db.et-db.et-db #et-boc .et-l .pa-js .advantage-card{ opacity: 0; transform: translateY(22px); transition: opacity 0.8s cubic-bezier(0.165, 0.84, 0.44, 1), transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1); } .pa-js .post-advantages-header.pa-in, .pa-js .advantage-card.pa-in, .et-db.et-db.et-db #et-boc .et-l .pa-js .post-advantages-header.pa-in, .et-db.et-db.et-db #et-boc .et-l .pa-js .advantage-card.pa-in{ opacity: 1; transform: none; } .pa-js .advantage-card.pa-in:hover, .et-db.et-db.et-db #et-boc .et-l .pa-js .advantage-card.pa-in:hover{ transform: translateY(-6px); } .pa-js .post-advantages-grid .advantage-card:nth-child(2), .pa-js .post-advantages-grid-row2 .advantage-card:nth-child(2), .et-db.et-db.et-db #et-boc .et-l .pa-js .post-advantages-grid .advantage-card:nth-child(2), .et-db.et-db.et-db #et-boc .et-l .pa-js .post-advantages-grid-row2 .advantage-card:nth-child(2){ transition-delay: 0.08s; } .pa-js .post-advantages-grid .advantage-card:nth-child(3), .pa-js .post-advantages-grid-row2 .advantage-card:nth-child(3), .et-db.et-db.et-db #et-boc .et-l .pa-js .post-advantages-grid .advantage-card:nth-child(3), .et-db.et-db.et-db #et-boc .et-l .pa-js .post-advantages-grid-row2 .advantage-card:nth-child(3){ transition-delay: 0.16s; } /* Responsive */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* Responsive */ @media (max-width: 1024px){ .post-advantages-section { padding: 48px 0; } .post-advantages-container { width: 92%; } .post-advantages-grid, .post-advantages-grid-row2 { gap: 18px; } .advantage-card-image { height: 168px; } } @media (max-width: 768px) { .post-advantages-section, .et-db.et-db.et-db #et-boc .et-l .post-advantages-section{ padding: 40px 0; } .post-advantages-header, .et-db.et-db.et-db #et-boc .et-l .post-advantages-header{ margin-bottom: 28px; } .post-advantages-subtitle, .et-db.et-db.et-db #et-boc .et-l .post-advantages-subtitle{ font-size: 16px; } .post-advantages-grid, .post-advantages-grid-row2, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid-row2{ grid-template-columns: repeat(2, 1fr); gap: 16px; } .post-advantages-grid-row2, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid-row2{ margin-top: 16px; } .advantage-card-image, .et-db.et-db.et-db #et-boc .et-l .advantage-card-image{ height: 160px; } .advantage-card-content, .et-db.et-db.et-db #et-boc .et-l .advantage-card-content{ padding: 18px; } .advantage-card-title, .et-db.et-db.et-db #et-boc .et-l .advantage-card-title{ font-size: 18px; }} @media (max-width: 560px) { .post-advantages-grid, .post-advantages-grid-row2, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid, .et-db.et-db.et-db #et-boc .et-l .post-advantages-grid-row2{ grid-template-columns: 1fr; } .advantage-card-image, .et-db.et-db.et-db #et-boc .et-l .advantage-card-image{ height: 200px; }}
    QUYỀN LỢI ĐẶC BIỆT

    Đặc quyền của học viên E-Learning

    Trải nghiệm học tập hoàn hảo với đầy đủ quyền lợi và hỗ trợ tận tâm

    Hệ thống nội dung trọn đời

    Hệ thống nội dung trọn đời

    Truy cập hơn 100 bài học video kết hợp lý thuyết & project thực tiễn. Tất cả học phần mới được cập nhật miễn phí trọn đời.

    Học linh hoạt

    Update nội dung thường xuyên

    Học mọi lúc, mọi nơi qua nền tảng E-learning. Tham gia các buổi workshop định kỳ để đào sâu kiến thức và bắt trend mới.

    Cộng đồng Premium

    Cộng đồng & tài nguyên Premium

    Kết nối với hơn 1000+ học viên đa lĩnh vực. Tham gia nhóm kiến thức Premium, cập nhật tài nguyên & insight mới mỗi ngày. Trao đổi thắc mắc trực tiếp với trainer và đội ngũ chuyên môn tại đây.

    (function () { var section = document.querySelector('.post-advantages-section'); if (!section) return; var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (reduce || !('IntersectionObserver' in window)) return; section.classList.add('pa-js'); var els = [].slice.call(section.querySelectorAll('.post-advantages-header, .advantage-card')); var io = new IntersectionObserver(function (entries) { entries.forEach(function (en) { if (en.isIntersecting) { en.target.classList.add('pa-in'); io.unobserve(en.target); } }); }, { threshold: 0.1, rootMargin: '0px 0px -70px 0px' }); els.forEach(function (el) { io.observe(el); }); })();
    .testimonials-section, .et-db.et-db.et-db #et-boc .et-l .testimonials-section{ --primary: #10B981; --primary-dark: #059669; --dark: #0F172A; --dark-800: #1E293B; --gray: #64748B; --gray-light: #F1F5F9; --white: #FFFFFF; --accent: #F59E0B; --shadow-md: 0 4px 20px rgba(0,0,0,0.08); --shadow-lg: 0 10px 40px rgba(0,0,0,0.12); } .testimonials-section, .et-db.et-db.et-db #et-boc .et-l .testimonials-section{ padding: 100px 0 !important; background: linear-gradient(180deg, #047857 0%, #059669 50%, #047857 100%) !important; position: relative; overflow: hidden; font-family: 'League Spartan', sans-serif; } .testimonials-section *, .et-db.et-db.et-db #et-boc .et-l .testimonials-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } /* Decorative background pattern */ .testimonials-section::before, .et-db.et-db.et-db #et-boc .et-l /* Decorative background pattern */ .testimonials-section::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23FFFFFF' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 1; } .testimonials-container, .et-db.et-db.et-db #et-boc .et-l .testimonials-container{ width: 85%; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; } .testimonials-header, .et-db.et-db.et-db #et-boc .et-l .testimonials-header{ text-align: center; max-width: 800px; margin: 0 auto 60px; } .testimonials-badge, .et-db.et-db.et-db #et-boc .et-l .testimonials-badge{ display: inline-block; background: rgba(255, 255, 255, 0.15) !important; backdrop-filter: blur(10px); padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--white) !important; margin-bottom: 16px; border: 1px solid rgba(255, 255, 255, 0.2); } .testimonials-header h2, .et-db.et-db.et-db #et-boc .et-l .testimonials-header h2{ font-family: 'League Spartan', sans-serif; font-size: 48px!important; font-weight: 800; margin-bottom: 16px; color: var(--white) !important; line-height: 1.2; } .testimonials-header .subtitle, .et-db.et-db.et-db #et-boc .et-l .testimonials-header .subtitle{ font-size: 18px; color: rgba(255, 255, 255, 0.9) !important; line-height: 1.7; } .testimonials-slider-wrapper, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-wrapper{ position: relative; overflow: hidden; padding: 20px 0; margin-top: 60px; } .testimonials-slider-wrapper:not(:last-child), .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-wrapper:not(:last-child){ margin-bottom: 20px; } .testimonials-slider-track, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-track{ display: flex; gap: 24px; } .testimonials-slider-track.slide-left, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-track.slide-left{ animation: slideTestimonialsLeft 40s linear infinite; } .testimonials-slider-track.slide-right, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-track.slide-right{ animation: slideTestimonialsRight 40s linear infinite; } .testimonials-slider-wrapper:hover .testimonials-slider-track, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-wrapper:hover .testimonials-slider-track{ animation-play-state: paused; } @keyframes slideTestimonialsLeft { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } @keyframes slideTestimonialsRight { 0% { transform: translateX(-50%); } 100% { transform: translateX(0); } } .testimonial-card, .et-db.et-db.et-db #et-boc .et-l .testimonial-card{ flex: 0 0 auto; width: 400px; background: #FFFFFF !important; border: 2px solid rgba(255, 255, 255, 0.3) !important; padding: 40px !important; border-radius: 24px !important; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); position: relative; box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15) !important; } .testimonial-card::before, .et-db.et-db.et-db #et-boc .et-l .testimonial-card::before{ content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(16,185,129,0.08) 0%, rgba(6,182,212,0.08) 100%); opacity: 0; transition: opacity 0.4s ease; border-radius: 24px; z-index: 0; } .testimonial-card:hover, .et-db.et-db.et-db #et-boc .et-l .testimonial-card:hover{ transform: translateY(-12px) scale(1.03) !important; border-color: #D1FAE5 !important; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25) !important; z-index: 10; } .testimonial-card:hover::before, .et-db.et-db.et-db #et-boc .et-l .testimonial-card:hover::before{ opacity: 1; } .stars, .et-db.et-db.et-db #et-boc .et-l .stars{ color: var(--accent) !important; font-size: 20px; margin-bottom: 20px; position: relative; z-index: 2; } .testimonial-text, .et-db.et-db.et-db #et-boc .et-l .testimonial-text{ font-size: 16px; line-height: 1.7; margin-bottom: 24px; font-style: italic; color: var(--dark-800) !important; position: relative; z-index: 2; } .testimonial-author, .et-db.et-db.et-db #et-boc .et-l .testimonial-author{ font-weight: 700; margin-bottom: 4px; color: var(--dark) !important; position: relative; z-index: 2; } .testimonial-role, .et-db.et-db.et-db #et-boc .et-l .testimonial-role{ font-size: 14px; color: var(--gray) !important; position: relative; z-index: 2; } /* Responsive Design */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* Responsive Design */ @media (max-width: 1024px){ .testimonials-container { width: 90%; } } @media (max-width: 768px) { .testimonials-section, .et-db.et-db.et-db #et-boc .et-l .testimonials-section{ padding: 60px 0 !important; } .testimonials-container, .et-db.et-db.et-db #et-boc .et-l .testimonials-container{ width: 90%; padding: 0 16px; } .testimonials-header h2, .et-db.et-db.et-db #et-boc .et-l .testimonials-header h2{ font-size: 32px; } .testimonials-header .subtitle, .et-db.et-db.et-db #et-boc .et-l .testimonials-header .subtitle{ font-size: 16px; } .testimonial-card, .et-db.et-db.et-db #et-boc .et-l .testimonial-card{ width: 320px; padding: 32px 24px !important; } .testimonials-slider-wrapper, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-wrapper{ padding: 15px 0; } .testimonials-slider-wrapper:not(:last-child), .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-wrapper:not(:last-child){ margin-bottom: 15px; } .testimonials-slider-track, .et-db.et-db.et-db #et-boc .et-l .testimonials-slider-track{ gap: 16px; }} @media (max-width: 480px) { .testimonials-container, .et-db.et-db.et-db #et-boc .et-l .testimonials-container{ width: 90%; } .testimonials-header h2, .et-db.et-db.et-db #et-boc .et-l .testimonials-header h2{ font-size: 28px; } .testimonial-card, .et-db.et-db.et-db #et-boc .et-l .testimonial-card{ width: 280px; padding: 24px !important; } .testimonial-text, .et-db.et-db.et-db #et-boc .et-l .testimonial-text{ font-size: 15px; }}
    CẢM NHẬN HỌC VIÊN

    1,068+ học viên đã tin tưởng

    Nghe những câu chuyện thành công từ cộng đồng học viên

    ★★★★★

    "Khóa học giúp mình hiểu rõ Data Analyst làm gì và đã tự tin apply vào các vị trí Junior DA. Nội dung rất thực tế, không lý thuyết suông."

    Trần Hương
    Marketing → Junior DA
    ★★★★★

    "Lộ trình học rõ ràng, dễ hiểu cho người mới. Các project thực tế giúp mình tự tin hơn khi phỏng vấn. Recommend cho ai muốn chuyển ngành!"

    Minh Tuấn
    Kế toán → Data Analyst
    ★★★★★

    "Community rất active và supportive. Mọi thắc mắc đều được giải đáp nhanh chóng. Giá trị nhận được vượt xa số tiền bỏ ra."

    Phương Anh
    Sinh viên → Junior Analyst
    ★★★★★

    "Giảng viên nhiệt tình, kiến thức thực tế. Sau khóa học mình đã có được offer Junior Data Analyst với mức lương hài lòng."

    Đức Anh
    Sales → Data Analyst
    ★★★★★

    "Nội dung cập nhật liên tục, phù hợp với thị trường. Học xong có thể áp dụng ngay vào công việc thực tế."

    Mai Linh
    HR → People Analyst
    ★★★★★

    "Từ người không biết gì về data đến làm được dashboard Power BI chỉ trong 3 tháng. Khóa học này thật sự đáng giá!"

    Quốc Bảo
    Admin → BI Analyst
    ★★★★★

    "Các bài tập thực hành rất hay, sát với công việc thực tế. Portfolio sau khóa học giúp mình impress được nhà tuyển dụng."

    Thu Thảo
    Designer → Product Analyst
    ★★★★★

    "Đầu tư tốt nhất cho sự nghiệp của mình. Từ chỗ mơ hồ về Data giờ đã có định hướng và công việc rõ ràng."

    Hải Nam
    Content Writer → Data Analyst
    ★★★★★

    "Học linh hoạt, có thể xem lại bất cứ lúc nào. Support team phản hồi cực nhanh. Rất đáng để đầu tư!"

    Lan Anh
    Teacher → Education Analyst
    // Testimonials Infinite Loop document.addEventListener('DOMContentLoaded', function() { // Row 1 - Clone cards for infinite loop const trackRow1 = document.getElementById('testimonialsRow1'); if (trackRow1) { const cardsRow1 = trackRow1.children; const cardsRow1Array = Array.from(cardsRow1); cardsRow1Array.forEach(card => { const clone = card.cloneNode(true); trackRow1.appendChild(clone); }); } // Row 2 - Clone cards for infinite loop const trackRow2 = document.getElementById('testimonialsRow2'); if (trackRow2) { const cardsRow2 = trackRow2.children; const cardsRow2Array = Array.from(cardsRow2); cardsRow2Array.forEach(card => { const clone = card.cloneNode(true); trackRow2.appendChild(clone); }); } });
    .faq-section, .et-db.et-db.et-db #et-boc .et-l .faq-section{ --primary: #10B981; --primary-dark: #059669; --dark: #0F172A; --dark-800: #1E293B; --gray: #64748B; --gray-light: #F1F5F9; --white: #FFFFFF; --shadow-md: 0 4px 20px rgba(0,0,0,0.08); } .faq-section, .et-db.et-db.et-db #et-boc .et-l .faq-section{ padding: 100px 0; background: var(--white); font-family: 'League Spartan', sans-serif; } .faq-section *, .et-db.et-db.et-db #et-boc .et-l .faq-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .faq-container, .et-db.et-db.et-db #et-boc .et-l .faq-container{ width: 85%; margin: 0 auto; padding: 0 24px; } .faq-content-wrapper, .et-db.et-db.et-db #et-boc .et-l .faq-content-wrapper{ display: grid; grid-template-columns: 380px 1fr; gap: 60px; align-items: start; } .faq-header, .et-db.et-db.et-db #et-boc .et-l .faq-header{ position: sticky; top: 100px; } .faq-badge{ display: inline-block; background: linear-gradient(135deg, rgba(16,185,129,0.15) 0%, rgba(5,150,105,0.15) 100%); padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #059669; margin-bottom: 16px; border: 1px solid rgba(16,185,129,0.3); }.et-db.et-db.et-db #et-boc .et-l .faq-badge{ display: inline-block; background: linear-gradient(135deg, rgba(16,185,129,0.15) 0%, rgba(5,150,105,0.15) 100%); padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: #059669 !important; margin-bottom: 16px; border: 1px solid rgba(16,185,129,0.3); } .faq-header h2{ font-family: 'League Spartan', sans-serif; font-size: 48px!important; font-weight: 800; margin-bottom: 16px; color: var(--dark); line-height: 1.2; }.et-db.et-db.et-db #et-boc .et-l .faq-header h2{ font-family: 'League Spartan', sans-serif; font-size: 48px!important; font-weight: 800; margin-bottom: 16px; color: var(--dark) !important; line-height: 1.2; } .faq-header p{ font-size: 17px; color: var(--gray); line-height: 1.7; margin: 0; }.et-db.et-db.et-db #et-boc .et-l .faq-header p{ font-size: 17px; color: var(--gray) !important; line-height: 1.7; margin: 0; } .faq-list, .et-db.et-db.et-db #et-boc .et-l .faq-list{ width: 100%; } .faq-item, .et-db.et-db.et-db #et-boc .et-l .faq-item{ background: var(--white); border: 2px solid var(--gray-light); border-radius: 16px; margin-bottom: 16px; overflow: hidden; transition: all 0.3s ease; } .faq-item:hover, .et-db.et-db.et-db #et-boc .et-l .faq-item:hover{ border-color: var(--primary); } .faq-item.active, .et-db.et-db.et-db #et-boc .et-l .faq-item.active{ border-color: var(--primary); box-shadow: var(--shadow-md); } .faq-question{ padding: 24px; font-weight: 600; font-size: 17px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--dark); line-height: 1.5; }.et-db.et-db.et-db #et-boc .et-l .faq-question{ padding: 24px; font-weight: 600; font-size: 17px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; color: var(--dark) !important; line-height: 1.5; } .faq-question::after{ content: '+'; font-size: 28px; font-weight: 700; color: var(--primary); transition: transform 0.3s ease; flex-shrink: 0; }.et-db.et-db.et-db #et-boc .et-l .faq-question::after{ content: '+'; font-size: 28px; font-weight: 700; color: var(--primary) !important; transition: transform 0.3s ease; flex-shrink: 0; } .faq-item.active .faq-question::after, .et-db.et-db.et-db #et-boc .et-l .faq-item.active .faq-question::after{ transform: rotate(45deg); } .faq-answer{ padding: 0 24px 24px; color: var(--gray); line-height: 1.8; font-size: 15px; display: none; }.et-db.et-db.et-db #et-boc .et-l .faq-answer{ padding: 0 24px 24px; color: var(--gray) !important; line-height: 1.8; font-size: 15px; display: none; } .faq-answer ul, .et-db.et-db.et-db #et-boc .et-l .faq-answer ul{ list-style: none; padding: 0; margin: 0; } .faq-answer li, .et-db.et-db.et-db #et-boc .et-l .faq-answer li{ padding: 8px 0; padding-left: 24px; position: relative; line-height: 1.8; } .faq-answer li::before{ content: '•'; position: absolute; left: 0; color: var(--primary); font-weight: 700; font-size: 20px; }.et-db.et-db.et-db #et-boc .et-l .faq-answer li::before{ content: '•'; position: absolute; left: 0; color: var(--primary) !important; font-weight: 700; font-size: 20px; } .faq-answer a{ color: var(--primary); text-decoration: none; font-weight: 600; transition: all 0.3s ease; }.et-db.et-db.et-db #et-boc .et-l .faq-answer a{ color: var(--primary) !important; text-decoration: none; font-weight: 600; transition: all 0.3s ease; } .faq-answer a:hover{ color: var(--primary-dark); text-decoration: underline; }.et-db.et-db.et-db #et-boc .et-l .faq-answer a:hover{ color: var(--primary-dark) !important; text-decoration: underline; } .faq-item.active .faq-answer, .et-db.et-db.et-db #et-boc .et-l .faq-item.active .faq-answer{ display: block; animation: slideDown 0.3s ease; } @keyframes slideDown { from { opacity: 0; transform: translateY(-10px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design */ @media (max-width: 1024px), .et-db.et-db.et-db #et-boc .et-l /* Responsive Design */ @media (max-width: 1024px){ .faq-content-wrapper { grid-template-columns: 1fr; gap: 40px; } .faq-header { position: static; text-align: center; max-width: 800px; margin: 0 auto; } } @media (max-width: 768px) { .faq-section, .et-db.et-db.et-db #et-boc .et-l .faq-section{ padding: 60px 0; } .faq-container, .et-db.et-db.et-db #et-boc .et-l .faq-container{ width: 90%; } .faq-container, .et-db.et-db.et-db #et-boc .et-l .faq-container{ padding: 0 16px; } .faq-header h2, .et-db.et-db.et-db #et-boc .et-l .faq-header h2{ font-size: 32px; } .faq-header p, .et-db.et-db.et-db #et-boc .et-l .faq-header p{ font-size: 16px; } .faq-question, .et-db.et-db.et-db #et-boc .et-l .faq-question{ padding: 20px; font-size: 16px; } .faq-answer, .et-db.et-db.et-db #et-boc .et-l .faq-answer{ padding: 0 20px 20px; font-size: 14px; } .faq-answer li, .et-db.et-db.et-db #et-boc .et-l .faq-answer li{ padding-left: 20px; }} @media (max-width: 480px) { .faq-header h2, .et-db.et-db.et-db #et-boc .et-l .faq-header h2{ font-size: 28px !important; } .faq-container, .et-db.et-db.et-db #et-boc .et-l .faq-container{ width: 90%; } .faq-question, .et-db.et-db.et-db #et-boc .et-l .faq-question{ padding: 16px; font-size: 15px; } .faq-question::after, .et-db.et-db.et-db #et-boc .et-l .faq-question::after{ font-size: 24px; } .faq-answer, .et-db.et-db.et-db #et-boc .et-l .faq-answer{ padding: 0 16px 16px; font-size: 13px; }}
    CÂU HỎI THƯỜNG GẶP

    Chúng tôi giải đáp thắc mắc của bạn

    Tìm câu trả lời cho những câu hỏi phổ biến nhất về khóa học
    Hình thức học của các khoá học là gì?
    • Đây là khóa học e-learning nên học viên sẽ được học qua video. Ngoài ra, khóa học sẽ theo dạng self-paced nên sẽ không có giới hạn về thời gian học nên học viên có thể dễ dàng sắp xếp thời gian học và ôn tập theo thời gian biểu cá nhân.
    • Bạn sẽ không học một mình mà luôn nhận được sự hỗ trợ từ team The Future Analyst khi được tham gia nhóm Q&A giải đáp thắc mắc của từng khóa học. Bạn được quyền đặt các câu hỏi về các vấn đề: bài giảng, công cụ, khó khăn bất cứ lúc nào.
    Hình thức đăng ký như thế nào?
    • Bạn đăng ký ngay tại trang web này, nhập đầy đủ các thông tin và tiến hành thanh toán thông qua hình thức quét QR chuyển khoản có hệ thống xác thực tự động trong vòng 3 phút!
    The Future Analyst có xuất hóa đơn VAT không?
    Sau các khoá học thì học viên có nhận được chứng nhận không?
    • Hiện tại bên mình đã có cấp chứng nhận cho học viên hoàn thành khoá học dựa trên project các bạn thực hành và thêm vào data portfolio. Các projects này sẽ giúp các bạn nắm chắc được kiến thức và ghi điểm hơn trong mắt nhà tuyển dụng!
    Chuỗi khoá học có bao hàm kiến thức của một "real job" không? Sau khi hoàn thành chuỗi khoá học này có thể trở thành một DA ngay không?
    • Hoàn toàn có thể. Lộ trình 6 khoá được thiết kế bám sát yêu cầu thực tế của vị trí DA, từ tư duy phân tích, Excel, Power BI, SQL, Python, đến ra quyết định dựa trên dữ liệu. Đây là những gì một DA thực sự làm mỗi ngày, không phải kiến thức học thuật thuần tuý. Sau khi hoàn thành, bạn có đủ công cụ và kỹ năng để tự tin apply vào các vị trí DA entry-level ngay lập tức.
    • Đặc biệt, Khoá AI Agent For Data Analytics & Decision Making, là khoá học đầu tiên dạy ứng dụng AI Agent cho phân tích dữ liệu, giúp bạn tận dụng tối đa sức mạnh của AI, tự động hoá phân tích, hỗ trợ ra quyết định kinh doanh thực tế, và sở hữu kỹ năng mà các DA truyền thống chưa có.
    Nếu chưa có kiến thức gì về Data thì có thể tham gia các khoá học không?
    • Hoàn toàn có thể! Đối với Khoá Data Analytics 101 học viên sẽ được tích lũy kiến thức các nền tảng cơ bản nhất cho một người mới bắt đầu. Nếu bạn chưa biết mình có thật sự phù hợp với nghề Phân tích hay không, hãy thử lửa bằng khóa học này.
    Trường hợp có thắc mắc về kiến thức/bài tập trong khoá học thì em có thể hỏi ai ạ?
    • Trong cộng đồng https://community.mazhocdata.tv/ có space QnA dành riêng cho học viên của từng khoá học. Nếu bạn có bất kỳ thắc mắc nào thì hãy đặt câu hỏi trực tiếp ở đó, sẽ có team và các bạn học viên cùng giải đáp!
    // FAQ Toggle document.addEventListener('DOMContentLoaded', function() { document.querySelectorAll('.faq-question').forEach(question => { question.addEventListener('click', () => { const faqItem = question.parentElement; const isActive = faqItem.classList.contains('active'); // Close all FAQ items document.querySelectorAll('.faq-item').forEach(item => { item.classList.remove('active'); }); // Open clicked item if it wasn't active if (!isActive) { faqItem.classList.add('active'); } }); }); });
    .consultation-section, .et-db.et-db.et-db #et-boc .et-l .consultation-section{ --primary: #10B981; --primary-dark: #059669; --dark: #0F172A; --dark-800: #1E293B; --gray: #64748B; --gray-light: #F1F5F9; --white: #FFFFFF; --shadow-md: 0 4px 20px rgba(0,0,0,0.08); --shadow-lg: 0 10px 40px rgba(0,0,0,0.12); } .consultation-section, .et-db.et-db.et-db #et-boc .et-l .consultation-section{ padding: 100px 0; background: linear-gradient(135deg, #10B981 0%, #059669 100%); font-family: 'League Spartan', sans-serif; position: relative; overflow: hidden; } .consultation-section *, .et-db.et-db.et-db #et-boc .et-l .consultation-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } .consultation-section::before, .et-db.et-db.et-db #et-boc .et-l .consultation-section::before{ content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23FFFFFF' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 0.5; } .consultation-container, .et-db.et-db.et-db #et-boc .et-l .consultation-container{ width: 85%; margin: 0 auto; padding: 0 24px; position: relative; z-index: 1; } .consultation-header, .et-db.et-db.et-db #et-boc .et-l .consultation-header{ text-align: center; max-width: 700px; margin: 0 auto 50px; } .consultation-badge, .et-db.et-db.et-db #et-boc .et-l .consultation-badge{ display: inline-block; background: rgba(255, 255, 255, 0.2); backdrop-filter: blur(10px); padding: 8px 16px; border-radius: 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; color: var(--white) !important; margin-bottom: 16px; border: 1px solid rgba(255, 255, 255, 0.3); } .consultation-header h2, .et-db.et-db.et-db #et-boc .et-l .consultation-header h2{ font-family: 'League Spartan', sans-serif; font-size: 48px!important; font-weight: 800; margin-bottom: 16px; color: var(--white) !important; line-height: 1.2; } .consultation-header .subtitle, .et-db.et-db.et-db #et-boc .et-l .consultation-header .subtitle{ font-size: 18px; color: rgba(255, 255, 255, 0.95) !important; line-height: 1.7; } .consultation-card, .et-db.et-db.et-db #et-boc .et-l .consultation-card{ background: var(--white) !important; padding: 50px; border-radius: 32px; box-shadow: var(--shadow-lg); } .consultation-grid, .et-db.et-db.et-db #et-boc .et-l .consultation-grid{ display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; } .consultation-field, .et-db.et-db.et-db #et-boc .et-l .consultation-field{ margin: 0; } .consultation-field.full-width, .et-db.et-db.et-db #et-boc .et-l .consultation-field.full-width{ grid-column: 1 / -1; } .consultation-label, .et-db.et-db.et-db #et-boc .et-l .consultation-label{ display: block; font-size: 14px; font-weight: 600; color: var(--dark) !important; margin-bottom: 8px; } .required-mark, .et-db.et-db.et-db #et-boc .et-l .required-mark{ color: #EF4444 !important; margin-left: 4px; } .consultation-input, .consultation-textarea, .consultation-select, .et-db.et-db.et-db #et-boc .et-l .consultation-input, .et-db.et-db.et-db #et-boc .et-l .consultation-textarea, .et-db.et-db.et-db #et-boc .et-l .consultation-select{ width: 100% !important; padding: 14px 18px !important; border: 2px solid var(--gray-light) !important; border-radius: 12px !important; font-size: 15px !important; font-family: 'League Spartan', sans-serif !important; font-weight: 400 !important; transition: all 0.3s ease; background: var(--white) !important; color: var(--dark) !important; -webkit-text-fill-color: var(--dark) !important; opacity: 1 !important; box-sizing: border-box !important; display: block !important; } .consultation-textarea, .et-db.et-db.et-db #et-boc .et-l .consultation-textarea{ min-height: 100px !important; max-width: 100% !important; resize: vertical !important; } .consultation-input:focus, .consultation-textarea:focus, .consultation-select:focus, .et-db.et-db.et-db #et-boc .et-l .consultation-input:focus, .et-db.et-db.et-db #et-boc .et-l .consultation-textarea:focus, .et-db.et-db.et-db #et-boc .et-l .consultation-select:focus{ outline: none !important; border-color: var(--primary) !important; box-shadow: 0 0 0 4px rgba(16,185,129,0.1) !important; } .consultation-input::placeholder, .consultation-textarea::placeholder, .et-db.et-db.et-db #et-boc .et-l .consultation-input::placeholder, .et-db.et-db.et-db #et-boc .et-l .consultation-textarea::placeholder{ color: var(--gray) !important; opacity: 0.7 !important; } .consultation-select, .et-db.et-db.et-db #et-boc .et-l .consultation-select{ cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%2364748B' d='M4 6l4 4 4-4z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 18px center; padding-right: 42px !important; } .consultation-select option, .et-db.et-db.et-db #et-boc .et-l .consultation-select option{ color: var(--dark) !important; background: var(--white) !important; } .consultation-submit-wrapper, .et-db.et-db.et-db #et-boc .et-l .consultation-submit-wrapper{ grid-column: 1 / -1; text-align: center; margin-top: 8px; } .consultation-submit, .et-db.et-db.et-db #et-boc .et-l .consultation-submit{ background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important; color: var(--white) !important; padding: 16px 48px !important; border: none !important; border-radius: 12px !important; font-size: 16px !important; font-weight: 700 !important; font-family: 'League Spartan', sans-serif !important; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 20px rgba(16,185,129,0.3); } .consultation-submit:hover, .et-db.et-db.et-db #et-boc .et-l .consultation-submit:hover{ transform: translateY(-2px) !important; box-shadow: 0 6px 30px rgba(16,185,129,0.4) !important; } .consultation-submit:active, .et-db.et-db.et-db #et-boc .et-l .consultation-submit:active{ transform: translateY(0) !important; } .consultation-submit:disabled, .et-db.et-db.et-db #et-boc .et-l .consultation-submit:disabled{ opacity: 0.7 !important; cursor: not-allowed; transform: none !important; } .consultation-trust, .et-db.et-db.et-db #et-boc .et-l .consultation-trust{ text-align: center; margin-top: 20px; padding-top: 20px; border-top: 2px solid var(--gray-light); } .trust-text, .et-db.et-db.et-db #et-boc .et-l .trust-text{ font-size: 14px; color: var(--gray) !important; display: flex; align-items: center; justify-content: center; gap: 8px; margin: 0; } /* Success Popup */ .success-popup-overlay, .et-db.et-db.et-db #et-boc .et-l /* Success Popup */ .success-popup-overlay{ display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.6); z-index: 999999; align-items: center; justify-content: center; backdrop-filter: blur(4px); animation: fadeIn 0.3s ease; } .success-popup-overlay.show, .et-db.et-db.et-db #et-boc .et-l .success-popup-overlay.show{ display: flex; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .success-popup, .et-db.et-db.et-db #et-boc .et-l .success-popup{ background: var(--white) !important; padding: 50px 40px; border-radius: 24px; max-width: 500px; width: 90%; text-align: center; box-shadow: var(--shadow-lg); animation: slideUp 0.4s ease; } @keyframes slideUp { from { transform: translateY(50px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .popup-icon, .et-db.et-db.et-db #et-boc .et-l .popup-icon{ font-size: 80px; margin-bottom: 20px; animation: bounce 0.6s ease 0.2s; } @keyframes bounce { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } } .popup-title, .et-db.et-db.et-db #et-boc .et-l .popup-title{ font-family: 'League Spartan', sans-serif; font-size: 32px; font-weight: 900; color: var(--dark) !important; margin: 0 0 16px 0; line-height: 1.2; } .popup-text, .et-db.et-db.et-db #et-boc .et-l .popup-text{ font-size: 17px; color: var(--gray) !important; line-height: 1.6; margin: 0 0 8px 0; } .popup-subtext, .et-db.et-db.et-db #et-boc .et-l .popup-subtext{ font-size: 16px; font-weight: 600; color: var(--primary) !important; margin: 0 0 32px 0; } .popup-close, .et-db.et-db.et-db #et-boc .et-l .popup-close{ background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important; color: var(--white) !important; padding: 14px 40px !important; border: none !important; border-radius: 12px !important; font-size: 16px !important; font-weight: 700 !important; font-family: 'League Spartan', sans-serif !important; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 20px rgba(16,185,129,0.3); } .popup-close:hover, .et-db.et-db.et-db #et-boc .et-l .popup-close:hover{ transform: translateY(-2px) !important; box-shadow: 0 6px 30px rgba(16,185,129,0.4) !important; } /* Responsive */ @media (max-width: 768px), .et-db.et-db.et-db #et-boc .et-l /* Responsive */ @media (max-width: 768px){ .consultation-section { padding: 60px 0; } .consultation-container { padding: 0 16px; width: 90%; } .consultation-header h2 { font-size: 32px; } .consultation-header .subtitle { font-size: 16px; } .consultation-card { padding: 32px 24px; border-radius: 24px; } .consultation-grid { grid-template-columns: 1fr; gap: 18px; } .consultation-input, .consultation-textarea, .consultation-select { padding: 14px 18px !important; } .consultation-submit { width: 100% !important; padding: 16px 32px !important; } .success-popup { padding: 40px 30px; } .popup-title { font-size: 28px; } } @media (max-width: 480px) { .consultation-header h2, .et-db.et-db.et-db #et-boc .et-l .consultation-header h2{ font-size: 28px !important; } .consultation-container, .et-db.et-db.et-db #et-boc .et-l .consultation-container{ width: 90%; } .consultation-header .subtitle, .et-db.et-db.et-db #et-boc .et-l .consultation-header .subtitle{ font-size: 15px; } .consultation-card, .et-db.et-db.et-db #et-boc .et-l .consultation-card{ padding: 24px 16px; } .consultation-label, .et-db.et-db.et-db #et-boc .et-l .consultation-label{ font-size: 13px; } .consultation-input, .consultation-textarea, .consultation-select, .et-db.et-db.et-db #et-boc .et-l .consultation-input, .et-db.et-db.et-db #et-boc .et-l .consultation-textarea, .et-db.et-db.et-db #et-boc .et-l .consultation-select{ padding: 12px 16px !important; font-size: 14px !important; } .consultation-textarea, .et-db.et-db.et-db #et-boc .et-l .consultation-textarea{ min-height: 90px !important; } .consultation-submit, .et-db.et-db.et-db #et-boc .et-l .consultation-submit{ padding: 14px 28px !important; font-size: 15px !important; } .popup-icon, .et-db.et-db.et-db #et-boc .et-l .popup-icon{ font-size: 64px; } .popup-title, .et-db.et-db.et-db #et-boc .et-l .popup-title{ font-size: 26px; } .popup-text, .et-db.et-db.et-db #et-boc .et-l .popup-text{ font-size: 15px; } .popup-close, .et-db.et-db.et-db #et-boc .et-l .popup-close{ width: 100% !important; }}
    ✨ Tư vấn miễn phí

    Còn thắc mắc? Hãy để chúng tôi hỗ trợ bạn!

    Điền thông tin bên dưới, team tư vấn sẽ liên hệ ngay để giải đáp mọi câu hỏi của bạn

    -- Chọn mục tiêu -- Chuyển ngành sang Data Analytics Thăng tiến trong công việc Nâng cao kỹ năng hiện tại Tìm hiểu về Data Analytics Khác
    -- Chọn kênh -- Zalo Email

    🔒 Thông tin của bạn được bảo mật tuyệt đối

    (function() { 'use strict'; const GOOGLE_SCRIPT_URL = 'https://script.google.com/macros/s/AKfycbwlonr0mBsDYa7dQQ4cnwwTW5u-czviMoO15gmbKjDo4Uo7nH4gehG88MFe9HvgPLVFsg/exec'; const form = document.getElementById('consultationForm'); const popup = document.getElementById('successPopup'); if (!form) return; form.addEventListener('submit', async function(e) { e.preventDefault(); const submitBtn = form.querySelector('.consultation-submit'); const originalText = submitBtn.textContent; submitBtn.disabled = true; submitBtn.textContent = 'Đang gửi...'; const formData = new FormData(form); const data = { timestamp: new Date().toLocaleString('vi-VN', { timeZone: 'Asia/Ho_Chi_Minh', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit' }), fullname: formData.get('fullname'), email: formData.get('email'), phone: formData.get('phone'), facebook: formData.get('facebook') || 'Không cung cấp', occupation: formData.get('occupation') || 'Không cung cấp', goal: formData.get('goal'), course: formData.get('course') || 'Chưa rõ', contact_method: formData.get('contact_method'), message: formData.get('message') || 'Không có' }; try { await fetch(GOOGLE_SCRIPT_URL, { method: 'POST', mode: 'no-cors', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(data) }); popup.classList.add('show'); form.reset(); submitBtn.disabled = false; submitBtn.textContent = originalText; setTimeout(() => { popup.classList.remove('show'); }, 5000); } catch (error) { console.error('Error:', error); popup.classList.add('show'); form.reset(); submitBtn.disabled = false; submitBtn.textContent = originalText; setTimeout(() => { popup.classList.remove('show'); }, 5000); } }); if (popup) { popup.addEventListener('click', function(e) { if (e.target === popup) { popup.classList.remove('show'); } }); } })();
    .cta-section, .et-db.et-db.et-db #et-boc .et-l .cta-section{ --primary: #10B981; --primary-dark: #059669; --white: #FFFFFF; --shadow-md: 0 4px 20px rgba(0,0,0,0.08); } .cta-section, .et-db.et-db.et-db #et-boc .et-l .cta-section{ padding: 30px 0 !important; background: linear-gradient(135deg, #10B981 0%, #059669 100%) !important; text-align: center !important; color: var(--white) !important; position: relative; overflow: hidden; font-family: 'League Spartan', sans-serif; } .cta-section *, .et-db.et-db.et-db #et-boc .et-l .cta-section *{ box-sizing: border-box !important; font-family: 'League Spartan', sans-serif !important; } /* Decorative circles */ .cta-section::before, .et-db.et-db.et-db #et-boc .et-l /* Decorative circles */ .cta-section::before{ content: ''; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; background: rgba(255, 255, 255, 0.1); border-radius: 50%; } .cta-section::after, .et-db.et-db.et-db #et-boc .et-l .cta-section::after{ content: ''; position: absolute; bottom: -80px; left: -80px; width: 250px; height: 250px; background: rgba(255, 255, 255, 0.08); border-radius: 50%; } .cta-container, .et-db.et-db.et-db #et-boc .et-l .cta-container{ max-width: 900px; margin: 0 auto !important; padding: 0 24px !important; position: relative; z-index: 1; text-align: center !important; } .cta-section h2, .et-db.et-db.et-db #et-boc .et-l .cta-section h2{ font-family: 'League Spartan', sans-serif !important; font-size: 42px !important; font-weight: 800 !important; margin-bottom: 12px !important; margin-top: 0 !important; margin-left: auto !important; margin-right: auto !important; color: var(--white) !important; line-height: 1.2 !important; text-align: center !important; } .cta-section .description, .et-db.et-db.et-db #et-boc .et-l .cta-section .description{ font-size: 17px !important; margin: 0 auto 24px auto !important; padding: 0 !important; opacity: 0.95; line-height: 1.6 !important; max-width: 700px; color: var(--white) !important; text-align: center !important; } .cta-buttons, .et-db.et-db.et-db #et-boc .et-l .cta-buttons{ display: flex !important; gap: 16px !important; justify-content: center !important; align-items: center !important; flex-wrap: wrap !important; margin: 0 auto !important; padding: 0 !important; text-align: center !important; width: 100% !important; } .cta-section .btn-primary, .cta-section .btn-secondary, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-primary, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-secondary{ margin: 0 !important; float: none !important; } .cta-section .btn-primary, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-primary{ background: var(--white) !important; color: var(--primary) !important; padding: 16px 32px !important; border-radius: 12px !important; font-weight: 700 !important; font-size: 16px !important; border: none !important; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 4px 20px rgba(255, 255, 255, 0.3) !important; text-decoration: none !important; display: inline-block !important; text-align: center !important; white-space: nowrap; } .cta-section .btn-primary:hover, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-primary:hover{ transform: translateY(-3px) !important; box-shadow: 0 6px 30px rgba(255, 255, 255, 0.4) !important; } .cta-section .btn-secondary, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-secondary{ background: transparent !important; color: var(--white) !important; padding: 16px 32px !important; border-radius: 12px !important; font-weight: 600 !important; font-size: 16px !important; border: 2px solid var(--white) !important; cursor: pointer; transition: all 0.3s ease; text-decoration: none !important; display: inline-block !important; text-align: center !important; white-space: nowrap; } .cta-section .btn-secondary:hover, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-secondary:hover{ background: var(--white) !important; color: var(--primary) !important; transform: translateY(-3px) !important; } /* Responsive Design */ @media (max-width: 768px), .et-db.et-db.et-db #et-boc .et-l /* Responsive Design */ @media (max-width: 768px){ .cta-section { padding: 30px 0 !important; } .cta-container { padding: 0 16px !important; } .cta-section h2 { font-size: 32px !important; margin-bottom: 10px !important; } .cta-section .description { font-size: 16px !important; margin-bottom: 20px !important; } .cta-buttons { flex-direction: column !important; gap: 12px !important; } .cta-section .btn-primary, .cta-section .btn-secondary { width: 100% !important; max-width: 100% !important; padding: 14px 24px !important; } } @media (max-width: 480px) { .cta-section, .et-db.et-db.et-db #et-boc .et-l .cta-section{ padding: 30px 0 !important; } .cta-section h2, .et-db.et-db.et-db #et-boc .et-l .cta-section h2{ font-size: 28px !important; line-height: 1.3 !important; margin-bottom: 8px !important; } .cta-section .description, .et-db.et-db.et-db #et-boc .et-l .cta-section .description{ font-size: 15px !important; margin-bottom: 16px !important; } .cta-section .btn-primary, .cta-section .btn-secondary, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-primary, .et-db.et-db.et-db #et-boc .et-l .cta-section .btn-secondary{ padding: 13px 20px !important; font-size: 15px !important; }}

    Sẵn sàng bắt đầu hành trình Data Analytics?

    Tham gia cùng 1,068+ học viên đang học và phát triển sự nghiệp trong lĩnh vực Data

    Leave a Comment