.elementor-229 .elementor-element.elementor-element-afa08e6{--display:flex;--min-height:30vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-229 .elementor-element.elementor-element-afa08e6:not(.elementor-motion-effects-element-type-background), .elementor-229 .elementor-element.elementor-element-afa08e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#10661F;}.elementor-229 .elementor-element.elementor-element-3336b4f{text-align:center;}.elementor-229 .elementor-element.elementor-element-3336b4f .elementor-heading-title{font-weight:600;text-transform:uppercase;color:#78D358;}.elementor-229 .elementor-element.elementor-element-2a009b9{text-align:center;}.elementor-229 .elementor-element.elementor-element-2a009b9 .elementor-heading-title{color:#FFFFFF;}.elementor-229 .elementor-element.elementor-element-2a71fa2{text-align:center;color:#FFFFFF;}.elementor-229 .elementor-element.elementor-element-dc4829c{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-229 .elementor-element.elementor-element-458dec9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-229 .elementor-element.elementor-element-458dec9.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-229 .elementor-element.elementor-element-3930b2b{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--border-radius:15px 15px 15px 15px;box-shadow:0px 13px 26px -2px rgba(0, 0, 0, 0.23);}.elementor-229 .elementor-element.elementor-element-16c7f40 img{border-radius:10px 10px 10px 10px;}.elementor-229 .elementor-element.elementor-element-acdfe01{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-229 .elementor-element.elementor-element-ef99c41{font-size:13px;}.elementor-229 .elementor-element.elementor-element-b4f2e33{--grid-template-columns:repeat(0, auto);text-align:left;--icon-size:12px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-229 .elementor-element.elementor-element-b4f2e33 .elementor-social-icon{background-color:#107033;--icon-padding:0.3em;}.elementor-229 .elementor-element.elementor-element-d308ee4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-229 .elementor-element.elementor-element-d83af57{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 20px) 0px;}.elementor-229 .elementor-element.elementor-element-75a3e2e{--display:grid;--e-con-grid-template-columns:repeat(2, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;}.elementor-229 .elementor-element.elementor-element-ce37adc{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-229 .elementor-element.elementor-element-ce37adc:not(.elementor-motion-effects-element-type-background), .elementor-229 .elementor-element.elementor-element-ce37adc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon-box-wrapper{text-align:left;}.elementor-229 .elementor-element.elementor-element-2fa9478{--icon-box-icon-margin:13px;}.elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon-box-title{margin-block-end:9px;}.elementor-229 .elementor-element.elementor-element-2fa9478.elementor-view-stacked .elementor-icon{background-color:#0F4612;}.elementor-229 .elementor-element.elementor-element-2fa9478.elementor-view-framed .elementor-icon, .elementor-229 .elementor-element.elementor-element-2fa9478.elementor-view-default .elementor-icon{fill:#0F4612;color:#0F4612;border-color:#0F4612;}.elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon{font-size:25px;}.elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon i{transform:rotate(20deg);}.elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon-box-title, .elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon-box-title a{font-size:23px;}.elementor-229 .elementor-element.elementor-element-2fa9478 .elementor-icon-box-description{font-size:15px;}.elementor-229 .elementor-element.elementor-element-4e29f97{--display:flex;--border-radius:15px 15px 15px 15px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-229 .elementor-element.elementor-element-4e29f97:not(.elementor-motion-effects-element-type-background), .elementor-229 .elementor-element.elementor-element-4e29f97 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F7F7F7;}.elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon-box-wrapper{text-align:left;}.elementor-229 .elementor-element.elementor-element-0b3c4b5{--icon-box-icon-margin:13px;}.elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon-box-title{margin-block-end:9px;}.elementor-229 .elementor-element.elementor-element-0b3c4b5.elementor-view-stacked .elementor-icon{background-color:#0F4612;}.elementor-229 .elementor-element.elementor-element-0b3c4b5.elementor-view-framed .elementor-icon, .elementor-229 .elementor-element.elementor-element-0b3c4b5.elementor-view-default .elementor-icon{fill:#0F4612;color:#0F4612;border-color:#0F4612;}.elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon{font-size:25px;}.elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon i{transform:rotate(20deg);}.elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon-box-title, .elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon-box-title a{font-size:23px;}.elementor-229 .elementor-element.elementor-element-0b3c4b5 .elementor-icon-box-description{font-size:15px;}.elementor-229 .elementor-element.elementor-element-14df2db{--display:flex;--min-height:30vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-229 .elementor-element.elementor-element-14df2db:not(.elementor-motion-effects-element-type-background), .elementor-229 .elementor-element.elementor-element-14df2db > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#195016;}.elementor-229 .elementor-element.elementor-element-cddb53d{margin:50px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;text-align:center;}.elementor-229 .elementor-element.elementor-element-cddb53d .elementor-heading-title{color:#7DD588;}.elementor-229 .elementor-element.elementor-element-4535176{text-align:center;}.elementor-229 .elementor-element.elementor-element-4535176 .elementor-heading-title{color:#FFFFFF;}.elementor-229 .elementor-element.elementor-element-0a857f5{text-align:center;font-size:15px;line-height:12px;letter-spacing:-0.7px;word-spacing:1px;color:#BEB7B7;}.elementor-229 .elementor-element.elementor-element-c1e54ea{--display:flex;--border-radius:15px 15px 15px 15px;--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:60px;}.elementor-229 .elementor-element.elementor-element-c1e54ea:not(.elementor-motion-effects-element-type-background), .elementor-229 .elementor-element.elementor-element-c1e54ea > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-229 .elementor-element.elementor-element-1e491b3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-229 .elementor-element.elementor-element-1e491b3:not(.elementor-motion-effects-element-type-background), .elementor-229 .elementor-element.elementor-element-1e491b3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F8F8F8;}.elementor-229 .elementor-element.elementor-element-a402b15{text-align:center;}.elementor-229 .elementor-element.elementor-element-a402b15 .elementor-heading-title{color:#2E2E2E;}@media(min-width:768px){.elementor-229 .elementor-element.elementor-element-458dec9{--width:30%;}.elementor-229 .elementor-element.elementor-element-d308ee4{--width:67%;}}@media(max-width:1366px){.elementor-229 .elementor-element.elementor-element-75a3e2e{--grid-auto-flow:row;}}@media(max-width:1024px){.elementor-229 .elementor-element.elementor-element-75a3e2e{--grid-auto-flow:row;}}@media(max-width:767px){.elementor-229 .elementor-element.elementor-element-75a3e2e{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for html, class: .elementor-element-bd4015d */.loader {
  width: 18px;
  height: 18px;
  border: 3px solid rgba(255,255,255,0.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.hidden { display: none !important; }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-d228db0 *//* --- Cấu hình màu sắc --- */
:root {
    --primary: #1e293b;   /* Màu chữ chính (Xanh đen) */
    --secondary: #3b82f6; /* Màu điểm nhấn 1 (Xanh dương) */
    --accent: #f59e0b;    /* Màu điểm nhấn 2 (Cam) */
    --gray-50: #f9fafb;
    --gray-100: #f3f4f6;
    --gray-300: #d1d5db;
    --gray-600: #4b5563;
}

/* --- Layout cơ bản (mô phỏng Tailwind) --- */
body { font-family: sans-serif; margin: 0; }
.container { width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 1024px) { .container { max-width: 1024px; } }
.max-w-4xl { max-width: 56rem; margin: 0 auto; }
.mx-auto { margin-left: auto; margin-right: auto; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.bg-gray-50 { background-color: var(--gray-50); }
.text-center { text-align: center; }
.mb-16 { margin-bottom: 4rem; }
.mt-2 { margin-top: 0.5rem; }
.relative { position: relative; }
.absolute { position: absolute; }

/* --- Typography --- */
.font-bold { font-weight: 700; }
.uppercase { text-transform: uppercase; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.75rem; }
.tracking-wider { letter-spacing: 0.05em; }

/* --- Màu sắc --- */
.text-primary { color: var(--primary); }
.text-accent { color: var(--accent); }
.text-gray-600 { color: var(--gray-600); }
.bg-white { background-color: #ffffff; }
.bg-gray-100 { background-color: var(--gray-100); }
.bg-green-100 { background-color: #dcfce7; color: #166534; }

/* --- COMPONENTS TIMELINE (Phần quan trọng nhất) --- */

/* 1. Container bao quanh các item */
.space-y-12 > * + * {
    margin-top: 3rem;
}

/* 2. Đường kẻ dọc nối các điểm */
.timeline-line::before {
    content: '';
    position: absolute;
    top: 10px;
    bottom: -40px; /* Kéo dài xuống item tiếp theo */
    left: 1.5rem;  /* Canh giữa chấm tròn (left 0.75rem + width 0.75rem) */
    width: 2px;
    background-color: var(--gray-300);
    transform: translateX(-50%);
    z-index: 0;
}

/* Xoá đường kẻ ở phần tử cuối cùng để không bị lòi ra */
.timeline-line > div:last-child {
    background-color: transparent; /* Fix bug z-index */
}
.timeline-line > div:last-child::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 1.5rem;
    width: 4px; 
    height: 100%;
    background: var(--gray-50); /* Che đường kẻ thừa bằng màu nền */
    transform: translateX(-50%);
    z-index: 0;
}

/* 3. Chấm tròn (Dots) */
.w-6 { width: 1.5rem; }
.h-6 { height: 1.5rem; }
.left-3 { left: 0.75rem; }
.top-1 { top: 0.25rem; }
.rounded-full { border-radius: 9999px; }
.border-4 { border-width: 4px; }
.border-white { border-color: #ffffff; }
.shadow-md { box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }
.z-10 { z-index: 10; }

/* Màu chấm tròn */
.bg-secondary { background-color: var(--secondary); }
.bg-gray-300 { background-color: var(--gray-300); }

/* Hover effect cho chấm tròn */
.group:hover .bg-gray-300, 
.group:hover .bg-secondary {
    background-color: var(--accent);
    transition: background-color 0.3s ease;
}

/* 4. Thẻ nội dung (Card) */
.pl-12 { padding-left: 3rem; }
.p-6 { padding: 1.5rem; }
.rounded-xl { border-radius: 0.75rem; }
.shadow-sm { box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); }
.border { border-width: 1px; }
.border-gray-100 { border-color: var(--gray-100); }
.mb-2 { margin-bottom: 0.5rem; }
.inline-block { display: inline-block; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }

/* Hover effect cho card */
.transition-shadow { transition: box-shadow 0.3s; }
.hover\:shadow-lg:hover { box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); }

/* Responsive cơ bản */
@media (min-width: 640px) {
    .sm\:pl-16 { padding-left: 4rem; }
}/* End custom CSS */