/* gioithieu */
.gth-img{height: calc(100% + 3rem);}
.gth-wrap{background-color: rgb(255 255 255 / 90%); box-shadow: 0 0 30px rgb(0 0 0 / 25%);}
.gt-title {
    margin-bottom: 2rem;
    font-family: var(--fnt);
    font-weight: 700;
    text-align: center;
    line-height: 0;
}

.gt-title * {
    display: block;
    line-height: 1.5;
    color: var(--main)!important;
}

.gt-title:after {
    content: '';
    display: inline-block;
    width: 60px;
    height: 2px;
    margin-top: 0.5rem;
    background-color: var(--hover);
    vertical-align: top;
}
.intro-actions .intro-profile-btn{
    gap:8px;
    background:linear-gradient(135deg,#fff8df,#fff)!important;
    color:var(--main)!important;
    border:1px solid rgba(218,37,28,.18);
    box-shadow:0 10px 24px rgb(218 37 28 / 10%);
}
.intro-actions .intro-profile-btn:hover{
    background:var(--hover)!important;
    color:#111!important;
    transform:translateY(-2px);
}

/* header_menu */
.dm-auto-nav>ul{display:flex;align-items:center;gap:29px;margin:0;padding:0;list-style:none}.dm-auto-nav li{position:relative;list-style:none}.dm-auto-nav>ul>li>a{display:flex;align-items:center;gap:6px;color:#17384d;font-weight:600;font-size:15px;line-height:72px;white-space:nowrap}.dm-auto-nav>ul>li>a:hover,.dm-auto-nav>ul>li.active>a{color:#d5a334}.dm-auto-nav .dm-submenu,.dm-auto-nav .dm-submenu ul{position:absolute;top:100%;left:0;z-index:100;min-width:230px;margin:0;padding:8px 0;background:#fff;border-top:3px solid #d5a334;box-shadow:0 12px 30px rgba(6,43,73,.15);opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.dm-auto-nav .dm-submenu ul{top:0;left:100%}.dm-auto-nav li:hover>.dm-submenu,.dm-auto-nav .dm-submenu li:hover>ul{opacity:1;visibility:visible;transform:none}.dm-auto-nav .dm-submenu a{display:block;padding:10px 18px;color:#254459;font-size:14px;white-space:nowrap}.dm-auto-nav .dm-submenu a:hover{background:#f1f7fa;color:#b78319}

/* header_menu */
header #menu{display: none;}
#mobile-menu{display: none;}
.menu{position: relative; z-index: 11;}
.menu ul{list-style: none;}
.menu ul li{position: relative;}
.menu ul li.display{display: none;}
.menu ul li a{display: block; font-size: 16px; font-weight: 700; line-height: 50px; color: var(--prev);}
.menu ul li a i{margin-left: 0.25rem; font-size: 12px; color: var(--prev); }
.menu ul li ul{position: absolute; top: 100%; min-width: 150px; opacity: 0; pointer-events: none; transition: all 0.5s ease 0s;}
.menu ul li ul li a{padding: 0 1rem; background-color: var(--white); text-wrap: nowrap; line-height: 36px;}
.menu ul li ul li a:hover{background-color: var(--main); color: var(--white);}
.menu > ul{display: flex; justify-content: center;}
.menu > ul > li{flex: 0 0 auto;}
.menu > ul > li+li{margin-left: 2rem;}
.menu > ul > li > a{text-transform: uppercase;}
.menu > ul > li:hover > a{color: var(--main);}
.menu > ul > li.active > a{color: var(--main);}
.menu > ul > li > ul:before{content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 0 15px rgb(0 0 0 / 15%);}
.menu > ul > li:hover > ul{top: 100%; opacity: 1; pointer-events: auto;}
.mobile-menu-overlay{display: none;}
@media (max-width: 991.98px){
    body.mobile-menu-open{overflow: hidden; touch-action: none;}
    #mobile-menu.mobile-drawer{
        position: fixed; display: flex; flex-direction: column; top: 0; bottom: 0; left: 0;
        width: min(86vw, 360px); height: 100dvh; z-index: 100002; overflow: hidden;
        background: var(--white); box-shadow: 12px 0 32px rgb(0 0 0 / 18%);
        transform: translate3d(-105%, 0, 0); visibility: hidden;
        transition: transform .28s ease, visibility 0s linear .28s;
    }
    #mobile-menu.mobile-drawer.is-open{
        transform: translate3d(0, 0, 0); visibility: visible;
        transition: transform .28s ease, visibility 0s;
    }
    .mobile-drawer__header{
        display: flex; flex: 0 0 auto; align-items: center; justify-content: space-between;
        min-height: 60px; padding: 0 12px 0 18px; background: var(--main); color: var(--white);
    }
    .mobile-drawer__header strong{font-size: 16px; letter-spacing: .04em;}
    .mobile-drawer__close{
        display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
        padding: 0; border: 0; border-radius: 6px; background: rgb(255 255 255 / 14%); color: var(--white); font-size: 22px;
    }
    .mobile-drawer__search{position: relative; flex: 0 0 auto; padding: 12px; background: #f5f6f8;}
    .mobile-drawer__search i{position: absolute; top: 50%; left: 28px; color: #72777f; transform: translateY(-50%);}
    .mobile-drawer__search input{
        display: block; width: 100%; height: 46px; padding: 0 42px; border: 1px solid #dfe2e6;
        border-radius: 8px; outline: 0; background: var(--white); color: var(--text); font-size: 16px;
    }
    .mobile-drawer__search input:focus{border-color: var(--main); box-shadow: 0 0 0 3px rgb(218 37 28 / 12%);}
    .mobile-menu-empty{margin: 0; padding: 18px; color: #666; text-align: center;}
    #mobile-menu > ul{flex: 1 1 auto; margin: 0; padding: 6px 0 24px; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; list-style: none;}
    #mobile-menu li{position: relative; margin: 0; list-style: none; border-bottom: 1px solid #eceef1;}
    #mobile-menu li.display{display: none !important;}
    #mobile-menu li > a{
        display: flex; align-items: center; min-height: 50px; padding: 10px 54px 10px 18px;
        color: var(--text); font-size: 15px; font-weight: 600; line-height: 1.4;
    }
    #mobile-menu li > a > i{display: none;}
    #mobile-menu li.active > a{color: var(--main); font-weight: 700; background: rgb(218 37 28 / 5%);}
    #mobile-menu li ul{margin: 0; padding: 0 0 0 16px; background: #f8f9fa; list-style: none;}
    #mobile-menu li ul[hidden]{display: none;}
    #mobile-menu li ul li > a{min-height: 48px; font-size: 14px; font-weight: 500;}
    .mobile-submenu-toggle{
        position: absolute; top: 3px; right: 6px; display: inline-flex; align-items: center; justify-content: center;
        width: 44px; height: 44px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: #555;
    }
    .mobile-submenu-toggle i{transition: transform .2s ease;}
    .mobile-submenu-toggle[aria-expanded="true"] i{transform: rotate(180deg);}
    .mobile-submenu-toggle:focus-visible,.mobile-drawer__close:focus-visible{outline: 3px solid var(--hover); outline-offset: -3px;}
    .mobile-menu-overlay{
        position: fixed; display: block; inset: 0; z-index: 100001; padding: 0; border: 0;
        background: rgb(0 0 0 / 48%); opacity: 0; visibility: hidden; pointer-events: none;
        transition: opacity .28s ease, visibility 0s linear .28s;
    }
    .mobile-menu-overlay.is-open{opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .28s ease, visibility 0s;}
}
@media (prefers-reduced-motion: reduce){
    #mobile-menu.mobile-drawer,.mobile-menu-overlay{transition: none !important;}
}
/*menu c?p 2 bên ph?i*/
.menu ul li ul li ul{top: 0; left: calc(100% + 1rem);}
.menu ul li ul li:hover ul{left: 100%; opacity: 1; pointer-events: auto;}

/* kiem_dinh */
.certificate-page{padding:56px 0 70px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);}
.certificate-head{max-width:760px;margin:0 auto 28px;text-align:center;}
.certificate-head span{display:inline-flex;align-items:center;gap:10px;color:var(--main);font-weight:800;text-transform:uppercase;}
.certificate-head span:before,.certificate-head span:after{content:"";width:34px;height:3px;background:var(--main);}
.certificate-head h1{margin:10px 0 12px;color:#1f2933;font-size:2rem;font-weight:800;line-height:1.25;}
.certificate-head p{margin:0;color:#5b6573;font-size:1rem;line-height:1.7;}
.certificate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.certificate-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;padding:20px;border:1px solid #edf0f4;border-radius:8px;background:#fff;box-shadow:0 12px 30px rgb(15 23 42 / 8%);}
.certificate-icon{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:8px;background:rgb(218 37 28 / 10%);color:var(--main);font-size:1.75rem;}
.certificate-body{min-width:0;}
.certificate-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;}
.certificate-meta span{display:inline-flex;align-items:center;min-height:26px;padding:4px 10px;border-radius:999px;background:#fff8df;color:#6b4f00;font-size:.78rem;font-weight:800;line-height:1;}
.certificate-body h2{margin:0 0 8px;color:#172033;font-size:1.18rem;font-weight:800;line-height:1.35;}
.certificate-body p{margin:0 0 12px;color:#606a78;line-height:1.65;}
.certificate-info{display:flex;flex-wrap:wrap;gap:10px 14px;color:#3d4654;font-size:.9rem;font-weight:700;}
.certificate-info span{display:inline-flex;align-items:center;gap:7px;}
.certificate-info i{color:var(--main);}
.certificate-actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;padding-top:14px;border-top:1px solid #edf0f4;}
.certificate-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border-radius:6px;font-weight:800;line-height:1;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease;}
.certificate-view{background:var(--main);color:#fff;}
.certificate-download{border:1px solid rgb(218 37 28 / 22%);background:#fff;color:var(--main);}
.certificate-actions a:hover{transform:translateY(-2px);background:var(--hover);border-color:var(--hover);color:#111;}
.certificate-empty-file{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:10px 14px;border-radius:6px;background:#f3f5f8;color:#647083;font-weight:800;}
.certificate-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:30px;border:1px dashed #d8dee8;border-radius:8px;background:#fff;color:#657082;text-align:center;}
.certificate-empty i{color:var(--main);font-size:2rem;}
.certificate-empty p{margin:0;font-weight:700;}
@media (max-width:991.98px){
    .certificate-grid{grid-template-columns:1fr;}
}
@media (max-width:575.98px){
    .certificate-page{padding:38px 0 48px;}
    .certificate-head h1{font-size:1.45rem;}
    .certificate-card{grid-template-columns:1fr;padding:16px;}
    .certificate-icon{width:52px;height:52px;}
    .certificate-actions a{width:100%;}
}

/* profile */
.profile-page{padding:56px 0 68px;background:linear-gradient(180deg,#fff 0%,#f7f8fa 100%);}
.profile-head{text-align:center;margin-bottom:22px;}
.profile-head span{display:inline-flex;align-items:center;gap:10px;color:var(--main);font-weight:700;text-transform:uppercase;}
.profile-head span:before,.profile-head span:after{content:"";width:34px;height:3px;background:var(--main);}
.profile-head h1{margin:8px 0 0;color:#1f2933;font-size:2rem;font-weight:800;line-height:1.25;}
.profile-head p{max-width:760px;margin:10px auto 0;color:#5b6573;font-size:1rem;line-height:1.7;}
.profile-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;margin-bottom:18px;}
.profile-btn,.profile-download{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:10px 14px;border:0;border-radius:6px;background:var(--main);color:#fff;font-weight:700;line-height:1;transition:transform .25s ease,background .25s ease,color .25s ease;}
.profile-btn{width:46px;padding:0;cursor:pointer;}
.profile-btn:disabled{opacity:.45;cursor:not-allowed;}
.profile-btn:not(:disabled):hover,.profile-download:hover{transform:translateY(-2px);background:var(--hover);color:#111;}
.profile-counter{min-height:42px;display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid #ededed;border-radius:6px;background:#fff;color:#333;font-weight:600;box-shadow:0 8px 22px rgb(0 0 0 / 6%);}
.profile-book-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:660px;padding:18px;background:#7f1d1d;border-radius:8px;box-shadow:0 18px 44px rgb(0 0 0 / 18%);overflow:hidden;}
.profile-book{margin:auto;}
.profile-paper{background:#fff;overflow:hidden;}
.profile-paper-inner{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:#fff;}
.profile-paper.is-loading .profile-paper-inner:before{content:"Đang tải trang...";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#777;font-size:14px;font-weight:700;background:#fff;}
.profile-paper img{display:block;width:100%;height:100%;object-fit:contain;background:#fff;user-select:none;-webkit-user-drag:none;}
.profile-paper.is-loading img{visibility:hidden;}
.profile-loading{position:absolute;inset:18px;display:flex;align-items:center;justify-content:center;background:#fff;color:#555;font-weight:700;z-index:10;}
.profile-book-wrap.is-ready .profile-loading{display:none;}
.profile-fallback{margin:14px 0 0;text-align:center;color:#555;}
.profile-fallback a{color:var(--main);font-weight:700;}
.profile-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:180px;padding:30px;border:1px dashed #d8dee8;border-radius:8px;background:#fff;color:#657082;text-align:center;}
.profile-empty i{color:var(--main);font-size:2rem;}
.profile-empty p{margin:0;font-weight:700;}
@media (max-width:767.98px){
    .profile-page{padding:38px 0 46px;}
    .profile-page .container{width:calc(100% - 24px);max-width:none;}
    .profile-head h1{font-size:1.45rem;}
    .profile-book-wrap{min-height:520px;padding:12px;}
    .profile-download{width:100%;}
}

/* service */
.sv-card{
    height: 100%;
    display: flex;
    flex-direction: column;
}

.sv-item{
    position: relative;
    overflow: hidden;
}

.sv-item img{
    position: relative;
    border-radius: 15px;
    transform: scale(95%);
    z-index: 2;
    transition: all 0.25s ease 0s;
}

.sv-item img:hover{
    transform: scale(1);
    border-radius: 15px;
}

.sv-item:before,
.sv-item:after{
    content: '';
    position: absolute;
    width: 50%;
    height: 50%;
    z-index: 1;
}

.sv-item:before{
    top: 0;
    right: 0;
    border-top: 1px solid var(--main);
    border-right: 1px solid var(--main);
    border-radius: 0 15px 0 0;
}

.sv-item:after{
    bottom: 0;
    left: 0;
    border-bottom: 1px solid var(--main);
    border-left: 1px solid var(--main);
    border-radius: 0 0 0 15px;
}

.sv-title{
    margin: 15px 20px 0;
    padding: 12px 15px;
    min-height: 78px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: rgb(255 255 255 / 75%);
    border-radius: 5px;
}

.sv-title a{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: #222;
    text-decoration: none;
    line-height: 1.4;
}
/* z_popup */
.popup{width: calc(100% - 1rem);  max-width: 576px; margin: 0 auto;}
.popup-title{padding: 0 15px; background-color: var(--main); border-radius: 20px 20px 0 0; line-height: 50px; color: #fff;}
.popup-form{background-color: #fff; border-radius: 0 0 20px 20px;}
.loading-indicator-overlay, .loading-indicator{z-index: 99993!important;}
.fancybox-close-small{width: 50px; height: 50px;}
.fancybox-close-small:after{top: 10px; right: 10px; color: #fff;}
