/* 
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 */

*{ 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; }
.fs48{ font-size: 48px;}
.bold{ font-weight:bold; }
.italic{ font-style:italic; }
.text-uppercase{ text-transform:uppercase; }
.wr-content ul{ margin-left:25px; }
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) {

            .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); }
.s1_txt{  }
.nds1_li::first-letter {
  font-size: 200%;
}
.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;
}
.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;
}
.dl-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 8px 6px 8px;
  text-decoration: none;
  position: relative;
}
.dl-item:nth-child(odd)  { padding-right: 20px; }
.dl-item:nth-child(even) { padding-left: 20px; }
.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; }

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

@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;}


    .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; }
    .hero-stats-overlay{ grid-template-columns:1fr; }
    .stat-number,.stat-unit, .hero-tagline{  }
    .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; }
}


