/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
@font-face {
  font-family: 'Ruthie-Regular';
  src: url('fonts/Ruthie-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

*{ margin:0; padding:0; font-family:var(--e-global-typography-primary-font-family); font-size: 20px; line-height: 1.2}
.relative{ position:relative; }
.cl_white{ color:#fff; }
.cl_1{ color:#0E6E55; }
.cl_2{ color:#F5C388; }
.fs30{ font-size:30px; }
.titbox,.titbox .elementor-heading-title{ font-size:48px; font-weight:900; text-shadow: 0px 4px 4px rgb(0 0 0 / 25%);}
.hero-subtitle-small, .fs32{ font-size:32px; }
.hero-tagline{ font-size:96px; }
.s1-hero-tagline,.fs48{ font-size: 48px;}
.bold{ font-weight:bold; }
.italic{ font-style:italic; }
.text-uppercase{ text-transform:uppercase; }
.wr-content ul{ margin-left:25px; }
.container{ max-width:1300px; margin:0 auto; position:relative; width:100% }
p{ margin:0; }

/* Header Menu */
#header-top,#header-top * {
	transition: all .5s ease-in-out;
}
#header-top.is_scrolled {
	padding:0;
	background-color:#FFF;
	box-shadow: 0px 3px 15px 0px rgba(0,0,0,0.25);
	-webkit-box-shadow: 0px 3px 15px 0px rgba(0,0,0,0.25);
	-moz-box-shadow: 0px 3px 15px 0px rgba(0,0,0,0.25);
}
#header-top .elementor-icon-wrapper {
	line-height:0;
}

#header-top.white-header img {
	filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(0%) hue-rotate(350deg) brightness(106%) contrast(101%);
}
#header-top.white-header .elementor-nav-menu--main .elementor-item {
    color: #FFF;
    fill:#FFF;
}
body:not(.home) #header-top {
    background-color: #FFF;   
}

/*Menu*/
.sm-toggle {
            position: fixed;
            top: 10vh;
            left: 8%;
            z-index: 10000;

            display: flex;
            align-items: center;
            justify-content: center;

            width: 52px;
            height: 26px;

            padding: 0;
            margin: 0;

            background: rgba(255, 255, 255, .08);
            border: 1px solid rgba(255, 255, 255, .25);
            border-radius: 10px;

            cursor: pointer;
            transition: background-color .25s ease, border-color .25s ease;
        }

        .sm-toggle:hover {
            background: rgba(255, 255, 255, .16);
            border-color: rgba(255, 255, 255, .4);
        }

        /* icon hamburger tự vẽ bằng CSS (dùng khi không truyền icon_image) */
        .sm-toggle-icon {
            display: flex;
            flex-direction: column;
            gap: 4px;
        }

        .sm-toggle-icon span {
            display: block;
            width: 18px;
            height: 2px;
            background: #fff;
            border-radius: 1px;
            transition: transform .3s ease, opacity .3s ease;
        }

        /* icon dạng ảnh (khi truyền icon_image) */
        .sm-toggle-icon-img {
            display: block;
            max-width: 22px;
            max-height: 14px;
            width: auto;
            height: auto;
        }

        /* hamburger -> X khi menu đang mở */
        .sm-toggle.is-active .sm-toggle-icon span:nth-child(1) {
            transform: translateY(6px) rotate(45deg);
        }

        .sm-toggle.is-active .sm-toggle-icon span:nth-child(2) {
            opacity: 0;
        }

        .sm-toggle.is-active .sm-toggle-icon span:nth-child(3) {
            transform: translateY(-6px) rotate(-45deg);
        }

        .sm-toggle .screen-reader-text {
            position: absolute;
            width: 1px;
            height: 1px;
            overflow: hidden;
            clip: rect(1px, 1px, 1px, 1px);
            white-space: nowrap;
        }

        /* =========================
           PANEL: xuất hiện ngay tại vị trí nút toggle,
           khung cố định 350x500, KHÔNG còn phủ full màn hình
        ========================= */

        .primary-menu-panel {
            position: fixed;
            top: 40px;
            left: 6%;
            transform: translateX(40px);
            z-index: 9999;

            width: 350px;
            height: 500px;
            max-width: calc(100vw - 48px); /* an toàn trên màn hình rất hẹp */
            max-height: calc(100vh - 20vh - 24px);
            box-sizing: border-box;

            padding: 80px 40px 40px 40px;
            box-shadow: 5px 4px 4px 0px rgb(0 0 0 / 25%);
            background: rgb(0 0 0 / 5%);
            backdrop-filter: blur(20px);
            -webkit-backdrop-filter: blur(20px);

            opacity: 0;
            visibility: hidden;
            transform: scale(.98);
            transform-origin: top left; /* menu "mọc" ra từ đúng vị trí nút bấm */

            transition:
                opacity .35s ease,
                transform .35s ease,
                visibility 0s linear .35s;

            overflow: hidden;
        }

        .primary-menu-panel.is-open {
            opacity: 1;
            visibility: visible;
            transform: scale(1);

            transition:
                opacity .35s ease,
                transform .35s ease,
                visibility 0s linear 0s;
        }

        /* hoạ tiết trang trí, canh giữa phía sau danh sách link */
        .sm-deco {
            position: absolute;
            top: 42%;
            left: 50%;
            transform: translate(-50%, -50%);

            width: 200px;
            max-width: 60%;
            height: auto;

            pointer-events: none;
            z-index: 0;
        }

        /* nội dung bên trong khung: tự giãn đều theo chiều cao (space-evenly)
           thay vì gap/padding cố định */
        .sm-links {
            position: relative;
            z-index: 1;

            list-style: none;
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;

            display: flex;
            flex-direction: column;
            justify-content: space-evenly;
            overflow-y: auto;
        }

        .sm-link {
            display: inline-block;
            color: #fff;
            text-decoration: none;            
            letter-spacing: .03em;
            text-transform: uppercase;
            transition: opacity .2s ease;
        }

        .sm-link:hover,
        .sm-link:focus {
            font-weight: 700;
        }

        /* khoá cuộn trang nền khi menu đang mở */
        body.sm-menu-open {
            overflow: hidden;
        }

        @media (min-width: 782px) {
            .sm-deco {
                width: 240px;
            }
        }       
        @media (max-width: 500px) {
            .sm-toggle,.language-switcher {top: 25px!important;}
            .primary-menu-panel{ left:0;  }
           
        }
.dl-dl, .btn-dload .elementor-button-icon {
    transition: transform 0.25s ease;
}
.dl-item:hover .dl-dl, .btn-dload:hover .elementor-button-icon{transform: translateY(-3px); box-shadow: 0 4px 14px rgba(0,0,0,.25); }


/* ============ SWITCHER ============ */
  :root{
    --ink:#1a1d29;
    --paper:#f7f5f0;
    --line:rgba(26,29,41,0.1);
    --accent-soft:#e8edf3;
    --shadow: 0 12px 32px -8px rgba(26,29,41,0.22);
  }
font,
font *,
h1 font, h2 font, h3 font, h4 font, h5 font, h6 font,
p font, span font, a font, li font, div font {
    font-size: inherit !important;
    line-height: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
    -color: inherit !important;
    -background: transparent !important;
    vertical-align: baseline !important;
}

/* Google cũng hay chèn thêm .goog-text-highlight quanh từ được dịch */
.goog-text-highlight,
.goog-text-highlight * {
    font-size: inherit !important;
    line-height: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}
  .language-flag{
    width: 22px;
    height: 16px;
    object-fit: cover;
    border-radius: 3px;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.08);
    display: inline-block;
    vertical-align: middle;
  }
  .language-item .language-flag{
    width: 24px;
    height: 18px;
  }
  .language-switcher{
    -position:relative;
    display:inline-block;
    font-size:15px;
    position: fixed;
    left: 12%; top: 10vh;
    z-index: 10;
  }

  .language-current{
    display:flex;
    align-items:center;
    gap:10px;
    height: 26px;
    padding:4px 10px;
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 10px;
    cursor:pointer;
    box-shadow: 0 2px 6px rgba(26,29,41,0.06);
    color:var(--e-global-color-primary);
    font-family:inherit;
    font-weight:600;
    letter-spacing:0.02em;
  }

  .language-current:focus-visible,
  .language-item:focus-visible{
    outline:2px solid var(--e-global-color-primary);
    outline-offset:2px;
  }

 

  .language-arrow{
    display:inline-block;
    font-size:13px;
    color:var( --e-global-color-primary );
    -transform-origin:50% 40%;
    margin-left:2px;
  }

  .language-dropdown{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    min-width:190px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:16px;
    box-shadow:var(--shadow);
    padding:8px;
    overflow:hidden;

    /* GSAP controls visibility/height — these are just safe fallbacks */
    opacity:0;
    visibility:hidden;
    pointer-events:none;
  }

  .language-dropdown.is-open{
    visibility:visible;
    pointer-events:auto;
  }

  .language-item{
    width:100%;
    display:flex;
    align-items:center;
    gap:12px;
    padding:10px 12px;
    border:none;
    background:transparent;
    border-radius:10px;
    cursor:pointer;
    font-family:inherit;
    color:var(--ink);
    text-align:left;
    position:relative;
  }

  .language-item .language-flag{ font-size:20px; }

  .language-name{
    flex:1;
    font-size:14px;
    font-weight:500;
  }

  .language-item.active{
    background:var(--accent-soft);
  }

  .language-item .check{
    position:absolute;
    right:10px;
    width:14px;
    height:14px;
    opacity:0;
    transform:scale(0.4);
  }

  .language-item.active .check{ opacity:1; }

  .check svg{ width:100%; height:100%; display:block; }
  .check path{ stroke:var(--e-global-color-primary); }

  .google-translator-hidden{ display:none; }



.s1_txt{  }
.nds1_li::first-letter {
  font-size: 200%; font-family: 'Ruthie-Regular';
}
.hero-stats-overlay{ 
    color:#fff; 
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
  grid-template-rows: auto; 
    justify-content: center;
}
.hero-stats-overlay >div{}
.stat-number {
  font-size: 96px;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.stat-item{ margin-bottom:20px; }
.stat-unit { font-size: 48px; font-weight: 800;  }
.stat-label {
  font-weight: 500;
  margin-bottom: 12px;
  color: #000;
}
.s2t1t2, .s2t1t2 .elementor-element{ width:100%; text-align:center; }
.s3_ul3{ position:relative; z-index:2 }
.s3_ul3 >div:hover {  transform: translateY(-10px);    text-shadow: 0 10px 30px rgba(0, 0, 0, 0.15); }

.s3_ul3 >.elementor-element{ position:relative; cursor: pointer;}
.s3_ul3 .elementor-heading-title, .titpage{ font-size:32px; margin-bottom:15px; font-weight:bold; }
.s3_ul3 >.elementor-element:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 10%;
    right: -20px;
    width: 1px;
    height: 80%;
    background: var( --e-global-color-primary ); 
    opacity: .6;
}

#footer{ display:none!important }

.bgradial{ background: #0E6E55; background: radial-gradient(circle,rgba(14, 110, 85, 1) 0%, #063227 100%); }
.countdown-wr{ display: flex; gap: 20px;    padding: 15px;     border-radius: 10px;    border: 4px solid #fff;}
.countdown-row {
  display: flex;
  margin: 0 auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 28px;
  text-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
}
/* 72% circle */
.progress-wrap {
  width: 160px;
  height: 160px;
  flex-shrink: 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.progress-wrap svg { position: absolute; inset: 0; -transform: rotate(-90deg); }
.progress-pct { font-size: 27px; font-weight: 900; color: #fff; position: relative; z-index: 1;     width: 90px;
    height: 90px;
    line-height: 90px;
    border-radius: 50%;
    text-align: center;
    background: rgb(255 255 255 / 20%); }

.countdown-box {
  display: flex;
  align-items: center;
  background: rgb(255 255 255 / 20%); 
  padding: 12px 10px;
  text-align: center;  
  position: relative;
}
.countdown-wr .countdown-box:first-child{ border-radius: 10px 0 0 10px; }
.countdown-wr .countdown-box:last-child{ border-radius: 0px 10px 10px 0; }

.c-num { font-size: 80px; font-weight: 900; color: #fff; line-height: 1; margin-right:10px; position:relative; }
.c-label { font-size: 40px; color: #fff; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 2px; }
.s4_man .elementor-widget-image-box:hover .elementor-image-box-content{ bottom:0; }
.s4_man .elementor-widget-image-box:hover .elementor-image-box-img img{ -transform:scale(1.12); }

.s4_man .elementor-image-box-content{ position: absolute; bottom:-65px; padding:20px;     display: flex;    flex-direction: column; -webkit-transition:all 0.3s;transition:all 0.3s;}
.s4_man .elementor-image-box-wrapper{ position: relative; overflow: hidden; }
.s4_man .elementor-image-box-wrapper:before{ position: absolute; width:100%; height:50%; left:0; bottom:0px; content: ''; background: linear-gradient(to top, #000, transparent);}
.s4_man .elementor-image-box-title{ padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid #D9D9D9 }
.s4_man .man1:before{ background:url(/wp-content/uploads/2026/07/1.png) no-repeat center; }
.s4_man .man2:before{ background:url(/wp-content/uploads/2026/07/2.png) no-repeat center; }
.s4_man .man3:before{ background:url(/wp-content/uploads/2026/07/3.png) no-repeat center; }
.s4_man >div:before{content: ''; position: absolute; width: 56px;height: 72px; top: -28px; right: -16px; z-index: 2; background-size: 80% !important;}

.S5 h4{ font-size:40px; text-shadow: 0px 4px 4px rgb(0 0 0 / 25%); font-weight: 300;}
.S5 h3{ font-size:80px; text-shadow: 0px 4px 4px rgb(0 0 0 / 25%); font-weight: 900}
.S5 .tl-item{ display:flex; align-items:center; flex-direction:column; font-size:18px; }
.S5 .tl-item .tl-week{ text-transform: uppercase; padding-top: 10px; color:#B3B3B3; font-weight:bold; font-size:24px; }
.S5 .tl-item .tl-content{ padding:10px; color:#B3B3B3; }

.S5 .tl-item .tl-status{ background:#B3B3B3; color: #fff; padding: 5px;    width: 100%;    display: flex;    justify-content: center;    border-radius: 0 0 15px 15px;}
.S5 .tl-item .tl-card{
    width: 170px;
    border-radius: 15px;
    border: 1px solid #B3B3B3;
    position: relative;
    text-align: center;
}
.S5 .tl-item.done .tl-content{ color: #C7986B;} 
.S5 .tl-item.done .tl-week{ color: #C7986B;} 
.S5 .tl-item.done .tl-card{ border-color: #C7986B;} 
.S5 .tl-item.done .tl-status{ background: #C7986B;} 
.S5 .tl-item.active .tl-content{ color: var( --e-global-color-primary );} 
.S5 .tl-item.active .tl-week{ color: var( --e-global-color-primary );} 
.S5 .tl-item.active .tl-card{ border-color: var( --e-global-color-primary );} 
.S5 .tl-item.active .tl-status{ background: var( --e-global-color-primary );} 

.g-2, .gy-2 {
    --bs-gutter-y: 0.5rem;
}
.g-2, .gx-2 {
    --bs-gutter-x: 0.5rem;
}
.row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-top: calc(-1 * var(--bs-gutter-y));
    margin-right: calc(-.5 * var(--bs-gutter-x));
    margin-left: calc(-.5 * var(--bs-gutter-x));
}
.row>* {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
    margin-top: var(--bs-gutter-y);
}
.wpcf7-form .col-6,.wpcf7-form .col-12{ margin-bottom:15px; }
.col-6 {
    flex: 0 0 auto;
    width: 50%;
}
.col-12 {
    flex: 0 0 auto;
    width: 100%;
}
.mt-1 {
    margin-top: .25rem !important;
}
.wpcf7-form br{ display:none!important }
.form-panel {
  background: #fff;
  border-radius: 10px;
  margin: 0 16px;
  padding: 20px 16px;
  position: relative;
  top: -1px;
}
.form-panel-title {
  font-size: 13px; font-weight: 800;
  color: var(--e-global-color-primary); text-transform: uppercase;
  letter-spacing: 0.8px; margin-bottom: 14px;
}
.s6_wr_form .elementor-heading-title{ font-size:24px; font-weight:bold; }
.f-label {
  color: var(--e-global-color-primary); text-transform: uppercase;
  letter-spacing: 0.8px; display: block;
  margin-bottom: 4px;
  font-weight: bold;
}
.s6_wr_form  .wpcf7-spinner{ margin:0; height:auto; width:auto; }
.s6_wr_form .col-12.mt-1{ margin-bottom:0; }
.f-label b{ color:#dc3232 }
.f-input {
    border: 1px solid var(--e-global-color-primary);
    border-radius: 10px;
    padding: 7px 12px;
    width: 100%;
    color: var(--e-global-color-primary);
    background: #fff;
    margin-bottom: 5px;
    font-size: 20px;
}
.f-input::placeholder { color: var(--e-global-color-primary); }
.f-input:focus { outline: none; border-color: var(--e-global-color-primary); }
select.f-input { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M6 8L0 0h12z' fill='%23888'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; appearance: none; }
.btn-submit {
  background: var(--e-global-color-primary);
  color: #fff; border: none;
  font-weight: 800;
  letter-spacing: 1px; text-transform: uppercase;
  padding: 12px; border-radius: 6px;
  width: 100%; cursor: pointer;
  transition: background .2s;
  box-shadow: 0 4px 4px rgb(0 0 0 / 40%);
}

.btn-submit:hover { background: #236647; }
.wpcf7-not-valid-tip, .wpcf7-response-output{ font-size:13px!important; }
.s6_wr1 .w-100  .elementor-button{ width:100%; font-weight:200; }
.s6_wr1 .w-100 .elementor-button-icon{     box-shadow: 0 4px 4px rgb(0 0 0 / 25%); }
.s6_wr1 .w-100 .elementor-button-icon svg{  width:91px; height:40px; }
.s6_wr1 .w-100 .elementor-button-text{ line-height:40px; }
.S6 .s6_wr_form .link_profile { display:none; }
.S6 .elementor-heading-title{ font-size:24px }
.elementor-post-date{ font-size:13px; font-weight:200; }


.button_animate{
    cursor: pointer;
    animation: heartBeat 1.5s ease-in-out infinite;
}

@keyframes heartBeat {
    0%,
    100% {
        transform: scale(1);
    }

    14%,
    42% {
        transform: scale(1.2);
    }

    28%,
    70% {
        transform: scale(1);
    }
}



.social-links {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.social-links li {
    margin: 0;
    padding: 0;
}

.social-links a {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid #D9D9D9;
    border-radius: 5px;

    background: #fff;
    color: var( --e-global-color-primary );

    text-decoration: none;
    transition: all .3s ease;
}

.social-links a:hover {
    background: #F5C388;
    border-color: #F5C388;
    color: #fff;
    transform: translateY(-2px);
}

.social-links i {
    font-size: 18px;
    line-height: 1;
}
.category-tin-tuc .elementor-post__title a {
  -font-size: 16px;
}

.category-tin-tuc .elementor-post__title {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    margin-bottom: 10px;
}

.s7_3button .e-con-inner{ border-radius: 50px; background: rgb(255 255 255 / 40%); padding: 8px; }
.s7_3button  .elementor-widget-button:hover{ border-radius: 50px; background: var(--e-global-color-primary);  }

.dl-wrap {
  -padding: 28px 32px; 
}
.dl-grid {
  display: grid;
  --grid-template-columns: 1fr 1fr;
  grid-template-columns: repeat(3, 1fr);
}
.dl-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 8px 6px 8px;
  text-decoration: none;
  position: relative;
}

.dl-underline {
  border-bottom: 1px solid var(--e-global-color-secondary);      padding-bottom: 5px;    margin-bottom: 20px; display: flex; min-width: 160px;
}

.dl-flower { width: 26px; height: 26px; object-fit: contain; flex-shrink: 0; }
.dl-label  { flex: 1;  color: #fff;  white-space: nowrap; }
.dl-dl     { width: 22px; height: 22px; object-fit: contain; flex-shrink: 0; }

.news-list {
        width: 100%;
        max-width: 620px;
        display: flex;
        flex-direction: column;
    }

    .news-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 0;
        text-decoration: none;
        color: inherit;
    }

    .news-item:hover .news-title {
        color: rgba(255, 255, 255, 0.8);
    }

    .news-item + .news-item {
        -border-top: 1px solid rgba(255, 255, 255, 0.08);
    }

    .news-thumb {
        flex: 0 0 110px;
        width: 127px;
        height: 120px;
        border-radius: 5px;
        overflow: hidden;
        background-size: cover;
        background-position: center;
        position: relative;
    }

    .news-thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .news-thumb.thumb-brand {
        background: #1e5c46;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .brand-mark {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 6px;
        color: #eafaf1;
        text-align: center;
    }
    .brand-mark img { width: 30px; height: 30px; object-fit: contain; }
    .brand-mark span {
        font-size: 9px;
        font-weight: 700;
        letter-spacing: .05em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .news-content {
        flex: 1;
        min-width: 0;
    }
.text-shadow{ text-shadow: 0px 4px 4px rgb(0 0 0 / 25%); }
    .news-title {
        color: #fff;
        font-size: 18px;
        font-weight: 700;
        line-height: 1.3;
        margin-bottom: 14px;
        text-shadow: 0px 4px 4px rgb(0 0 0 / 25%);
    }

    .news-meta {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }
    .news-meta span{
        color: #fff;
        font-size: 14px;

    }

    @media (max-width: 480px) {
        .news-thumb { flex-basis: 88px; width: 88px; height: 88px; }
        .news-title { font-size: 18px; }
        .news-meta span{ font-size: 13px; }
    }

.titbox.fs30 .elementor-heading-title{ font-size:30px; }
.imgs2 img{ width: 100%;
  aspect-ratio: 1920 / 1393;
  object-fit: cover;
  min-height: 1390px;
  display: block; }




@media only screen and (min-width: 769px) {
.dl-underline{ min-width:180px; }
.dl-item { padding-left: 20px; padding-right: 20px; }
}

@media only screen and (max-width: 769px) {
    *{ font-size:14px; }
    .hero-subtitle-small, .fs32{ font-size:26px; }
    .hero-quote{ font-weight:100; font-size: 16px; margin-top: 15px;}
    .fs48{ font-size:32px; }
    .stat-number, .stat-unit, .hero-tagline{ font-size:40px; }
    .countdown-row{ display:flex; border: 2px solid #fff; border-radius:10px; padding: 5px }
    .countdown-wr{ flex-direction:column; order:2; border:none; padding:5px; }
    .progress-wrap{-webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;}
    .language-switcher{ left:22%; }
    .language-dropdown {left: 0; right: 100%}

    .S5 h3, .c-num{ font-size:40px; }
    .progress-pct{     font-size: 17px;        width: 68px;        height: 68px;        line-height: 68px; }
    .progress-wrap svg,.progress-wrap{ width: 90px;    height: 90px; }
    .c-label{ font-size:17px }
    .c-num{ margin-right:20px; }
}
@media only screen and (max-width: 500px) {
    .dl-wrap .dl-item{ padding-left:0; padding-right:0; }
    .dl-grid {  grid-template-columns: 1fr 1fr;}
    .hero-stats-overlay{  }
    .stat-number,.stat-unit, .hero-tagline{ font-size:35px;  }
    #S2{ background-size:cover; min-height:155vh }
    #S2 .hero-tagline{ font-size:50px; }
    #S2 .hero-subtitle-small{ font-size:16px; white-space:nowrap;  }
    .stat-item{ margin-bottom:5px; height:48px; }
    .col-6, .rcp-swiper-wrap .sl_container{ width: 100%; }
    .countdown-wr .countdown-box{ border-radius:0 10px 10px 0 !important; }
    .countdown-wr .countdown-box:before{ content:''; background:var(--e-global-color-secondary); width: 37%; height:100%;        position: absolute;        z-index: 0;        left: 0; }
}


/*S5*/
:root {
      --rs-green: #0b6b4f;
      --rs-gold: #c69c6d;
      --rs-gray: #b5b5b5;
      --rs-gray-text: #a8a8a8;
      --rs-row-gap: 16px;   /* khoảng cách giữa line hàng trên và card hàng dưới */
      --rs-dot-area: 44px;  /* vùng chứa vòng tròn + line dưới mỗi card */
      --rs-curve: 48px;     /* độ rộng đường cong nối 2 hàng */
    }


    /* ===== Layout ===== */
    .rs-section { padding: 48px 0; }
    .rs-container {
      width: 100%;
      max-width: 1000px;
      margin: 0 auto;
      padding: 0 12px;
    }
    .rs-header { margin-bottom: 48px; }

    /* Grid tự viết (thay cho row/col của Bootstrap) */
    .rs-row {
      --gx: 24px;                              /* khoảng cách giữa các cột */
      display: flex;
      flex-wrap: wrap;
      margin-left: calc(var(--gx) / -2);
      margin-right: calc(var(--gx) / -2);
    }

    
    /* ===== Khung timeline: chừa chỗ cho đường cong ===== */
    .rs-timeline {
      padding-right: var(--rs-curve);
    }

    /* ===== Card mỗi tuần ===== */
    .rs-card {
      border: 1px solid #d9d9d9;
      border-radius: 14px;
      overflow: hidden;
      text-align: center;
      background: #fff;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    .rs-card .rs-body {
      flex: 1;
      padding: 14px 8px 10px;
    }
    .rs-card .rs-week {
      font-weight: 700;
      font-size: 1.15rem;
      margin-bottom: .6rem;
    }
    .rs-card .rs-name {
      text-transform: uppercase;
      font-size: .95rem;
      line-height: 1.35;
      margin: 0;
    }
    .rs-card.is-lg .rs-name { font-size: 1.1rem; }
    .rs-card .rs-status {
      color: #fff;
      font-size: .9rem;
      padding: 4px 0;
    }

    /* Hoàn thành */
    .rs-card.is-done { border-color: var(--rs-gold); }
    .rs-card.is-done .rs-week,
    .rs-card.is-done .rs-name { color: var(--rs-gold); }
    .rs-card.is-done .rs-status { background: var(--rs-gold); }

    /* Đang học */
    .rs-card.is-active {
      border-color: var(--rs-green);
      box-shadow: 0 6px 14px rgba(0, 0, 0, .15);
    }
    .rs-card.is-active .rs-week,
    .rs-card.is-active .rs-name { color: var(--rs-green); }
    .rs-card.is-active .rs-status { background: var(--rs-green); }

    /* Chưa diễn ra */
    .rs-card.is-pending .rs-week,
    .rs-card.is-pending .rs-name { color: var(--rs-gray-text); }
    .rs-card.is-pending .rs-status { background: var(--rs-gray); }

    /* ===== Mỗi item: card + vòng tròn + đoạn line ===== */
    .rs-col {
      position: relative;
      flex: 0 0 auto;
      width: 25%;                             /* 4 cột */
      padding-left: calc(var(--gx) / 2);
      padding-right: calc(var(--gx) / 2);
      padding-bottom: var(--rs-dot-area);
      margin-bottom: var(--rs-row-gap);
      order: var(--od);                       /* thứ tự hiển thị trên desktop */
    }

    /* Đoạn line ngang của từng item (nối liền nhau thành 1 đường) */
    .rs-col::before {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: calc(var(--rs-dot-area) / 2 - 1px);
      height: 2px;
      background: var(--rs-green);
    }

    /* Đường cong nối từ line hàng trên xuống line hàng của item này */
    .rs-col::after {
      content: none;
      position: absolute;
      width: var(--rs-curve);
      top: calc(-1 * var(--rs-row-gap) - var(--rs-dot-area) / 2 - 1px);
      bottom: calc(var(--rs-dot-area) / 2 - 1px);
      border: 2px solid var(--rs-green);
    }

    /* Vòng tròn */
    .rs-dot {
      position: absolute;
      left: 50%;
      bottom: calc(var(--rs-dot-area) / 2);
      transform: translate(-50%, 50%);
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: #fff;
      border: 3px solid var(--rs-gray);
      z-index: 2;
    }
    .rs-dot.is-done   { border-color: var(--rs-gold); }
    .rs-dot.is-active { border-color: var(--rs-green); border-width: 4px; }

    /* ===== Desktop (từ 769px): 4 cột, 2 hàng ===== */
    @media (min-width: 769px) {
      .d-curve-r::after {
        content: "";
        right: calc(-1 * var(--rs-curve));
        border-left: 0;
        border-radius: 0 60px 60px 0;
      }
    }

    /* ===== Mobile (dưới 769px): 3 cột, 3 hàng hình chữ S ===== */
    @media (max-width: 768.98px) {
      :root {
        --rs-row-gap: 12px;
        --rs-dot-area: 40px;
        --rs-curve: 28px;
      }
      .rs-timeline { padding: 0 var(--rs-curve); }

      .rs-section { padding: 40px 0; }
      .rs-header { margin-bottom: 24px; }
      .rs-row { --gx: 16px; }

      .rs-col {
        width: 33.33333333%;                  /* 3 cột */
        order: var(--om);                     /* thứ tự hiển thị trên mobile */
      }

      .rs-card { border-radius: 10px; }
      .rs-card .rs-body { padding: 10px 4px 8px; }
      .rs-card .rs-week { font-size: 1rem; margin-bottom: .4rem; }
      .rs-card .rs-name { font-size: .78rem; }
      .rs-card.is-lg .rs-name { font-size: .92rem; }
      .rs-card .rs-status { font-size: .75rem; padding: 3px 0; }
      .rs-dot { width: 18px; height: 18px; }

      .m-start::before { left: 50%; }   /* line bắt đầu từ vòng tròn đầu tiên */
      .m-end::before   { right: 50%; }  /* line kết thúc ở vòng tròn cuối cùng */

      .m-curve-r::after {
        content: "";
        right: calc(-1 * var(--rs-curve));
        border-left: 0;
        border-radius: 0 50px 50px 0;
      }
      .m-curve-l::after {
        content: "";
        left: calc(-1 * var(--rs-curve));
        border-right: 0;
        border-radius: 50px 0 0 50px;
      }
    }

    @media (max-width: 420px) {
      .rs-card .rs-week { font-size: .9rem; }
      .rs-card .rs-name { font-size: .7rem; }
      .rs-card.is-lg .rs-name { font-size: .82rem; }
      .rs-card .rs-status { font-size: .68rem; }
    }