
.lineClamp7 {display: -webkit-box !important;-webkit-line-clamp: 7;-webkit-box-orient: vertical;overflow: hidden;}
.lineClamp6 {display: -webkit-box !important;-webkit-line-clamp: 6;-webkit-box-orient: vertical;overflow: hidden;}
.lineClamp5 {display: -webkit-box !important;-webkit-line-clamp: 5;-webkit-box-orient: vertical;overflow: hidden;}
.lineClamp4 {display: -webkit-box !important;-webkit-line-clamp: 4;-webkit-box-orient: vertical;overflow: hidden;}
.lineClamp3 {display: -webkit-box !important;-webkit-line-clamp: 3;-webkit-box-orient: vertical;overflow: hidden;}
.lineClamp2 {display: -webkit-box !important;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
.lineClamp1 {display: -webkit-box !important;-webkit-line-clamp: 1;-webkit-box-orient: vertical;overflow: hidden;}


.top-bar{
    background:#ffffff;
    font-size:14px;
}

.top-bar a{
    color: rgb(0 18 30 / 75%);
    text-decoration:none;
    margin-left: 10px;
}
.top-bar:hover a{color: #042e69}
.top-bar .nav{
    list-style:none;
    margin:0;
    padding:0;
}

.header-middle{
    background:#042e69;
    padding: 16px 0;
}

.main-logo{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:15px;
}

.main-logo h2{
    color:#fff;
    font-size:32px;
    font-weight:700;
    margin:0;
    line-height:1.2;
}

.main-navbar{
    background: rgb(4 46 105 / 95%);
    padding:0;
    border-top: 1px solid rgba(255,255,255,0.2);
}

.main-navbar .navbar-nav{
    margin:auto;
}

.main-navbar .nav-item{
    position:relative;
}

.navbar-dark .navbar-nav .nav-link{ color:#fff;}
.main-navbar .nav-link{
    color:#fff;
    font-size:15px;
    font-weight:600;
    line-height: 26px;
    padding: 17px 30px;
    text-transform: uppercase;
    transition:.3s;
}

.main-navbar .nav-item:hover > .nav-link{
    background:#FFD500;
    color:#000;
}

.main-navbar .dropdown-menu{
    min-width:280px;
    border:none;
    border-radius:0;
    padding:0;
    background:#fff;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    margin-top:0;
}

.main-navbar .dropdown-item{
    padding:12px 16px;
    color:#333;
    font-size: 13px;
    border-bottom:1px solid #f3f4f6;
    position:relative;
    white-space: unset;
}

.main-navbar .dropdown-item:hover{
    background:#083B7A;
    color:#fff;
}

.main-navbar .dropdown-toggle::after{
    margin-left:8px;
    vertical-align:middle;
}
.dropdown-submenu{
    position:relative;
}

.dropdown-submenu > .dropdown-menu{
    position:absolute;
    top:0;
    left:100%;
    width: 280px;
    margin-top:0;
    display:none;
}

.dropdown-submenu:hover > .dropdown-menu{
    display:block;
}
.dropdown-submenu > a::after{
    content:"›";
    float:right;
    font-size:18px;
}
.dropdown:hover > .dropdown-menu{
    display:block;
}

.dropdown-submenu:hover > .dropdown-menu{
    display:block;
}

.dropdown-submenu{
    position:relative;
}

.dropdown-submenu > .dropdown-menu{
    top:0;
    left:100%;
    margin-top:0;
    border-left: 3px solid #fad203;
}
.left-logo{display: flex;align-items: center}
.left-logo img{width: 80px;min-width: 80px}
.right-ct-logo{display: flex;align-items: center}
.right-ct-logo img{width: 80px;min-width: 80px}

.heroSwiper{
    height:700px;
}

.slide-bg{
    height:700px;
    background-size:cover;
    background-position:top;
    position:relative;
}

.slide-bg::before{
    content:'';
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.45);
}

.slide-content{
    position: absolute;
    z-index: 2;
    max-width: 560px;
    bottom: 0;
    left: 0;
    color: #fff;
    padding: 40px;
    background: rgb(5 40 103 / 70%);
}

.slide-content .subtitle{
    display:block;
    font-size:18px;
    margin-bottom:15px;
}

.slide-content h2{
    font-size:50px;
    line-height:1.1;
    font-weight:700;
    margin-bottom:20px;
}

.slide-content p{
    font-size:18px;
    font-weight: 400;
    line-height: 25px;
    margin-bottom: 0;
}

.section-wrap {
    padding: 80px 0;
    overflow: hidden;
}

.label-top {
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #052867;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.section-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 38px;
    font-weight: 800;
    color: #052867;
    text-transform: uppercase;
    line-height: 1.15;
    margin-bottom: 24px;
}

.section-desc {
    font-size: 15px;
    color: rgb(54 65 83);
    line-height: 1.8;
    max-width: 440px;
    margin-bottom: 36px;
}

.btn-more {
    background: #052867;
    color: #fff;
    border: none;
    border-radius: 0;
    padding: 14px 32px;
    font-size: 14px;
    font-weight: 600;
    font-family: 'Noto Sans', sans-serif;
    letter-spacing: .5px;
    transition: background .15s;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    text-decoration: none;
}

.btn-more:hover {
    background: #007aff;
    color: #fff;
}

/* Image side */
.img-side {
    position: relative;
}

.img-main {
    width: 560px;
    height: 640px;
    object-fit: cover;
    display: flex;
    position: relative;
    z-index: 1;
    margin: auto;
    align-items: center;
    justify-content: center;
    transition: 1s ease-in-out
}

/* top-right blue accent */
.accent-top-right {
    position: absolute;
    top: -23px;
    right: 40px;
    width: 120px;
    height: 55%;
    background: #052867;
    z-index: 0;
}

/* bottom-left yellow accent */
.accent-bottom-left {
    position: absolute;
    bottom: -20px;
    left: 40px;
    width: 120px;
    height: 55%;
    background: #fad203;
    z-index: -2;
}
.img-main:hover{transform: scale(1.1);transition: 1s ease-in-out}

.bg-new-student{
    position: relative;
    min-height: 420px;
    overflow: hidden;

    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

    transition: .4s;
}

.bg-new-student:hover{
    transform: translateY(-5px);
}

.bg-new-student::before{
    content:'';
    position:absolute;
    inset:0;

    background:
            linear-gradient(
                    to top,
                    rgba(0,0,0,.85) 0%,
                    rgba(0,0,0,.55) 35%,
                    rgba(0,0,0,.15) 100%
            );
}

.bg-overlay{
    position: relative;
    z-index: 2;
    height: 100%;
    min-height: 420px;
    display:flex;
    align-items: center;
}

.st-title-head{
    color:#fff;
    font-size:58px;
    font-weight:700;
    line-height:1.3;
    max-width: 900px;
    margin: 20px auto;
    text-align: center;
}

.st-more-btn{
    display:flex;
    align-items:center;
    width:max-content;
    padding:14px 40px;
    background: #fad203;
    color: #052867;
    margin: auto;
    font-size:14px;
    font-weight:600;
    text-decoration:none;

    transition:.3s;
}

.st-more-btn:hover{
    background:#fff;
    color: #052867;
}

.st-more-btn span{
    transition:.3s;
}

.st-more-btn:hover span{
    transform:translateX(4px);
}
.home-university-area{padding: 80px 0;background: #f9fafb}
.uni-section-label{margin-bottom: 20px;text-align: center;font-size: 30px;line-height: normal;font-weight: 700;color: #052867}
.uni-section-desc{margin-bottom: 40px;text-align: center;font-size: 18px;line-height: normal;font-weight: 500;color: rgb(74 85 101)}
.university-item{position: relative;padding: 20px;height: 100%;background: #fff;border-radius: 8px;box-shadow: 0 1px 3px rgba(0,0,0,.1), 0 1px 2px rgba(0,0,0,.1);transition: transform 0.2s ease;}
.university-icon{display: flex;align-items: center;justify-content: center;width: 200px;height: 120px}
.university-icon img{width: 100%;height: 100%;object-fit: contain}
.university-name{text-align: center;margin-top: 15px;font-size: 14px;line-height: 20px;text-transform: uppercase;font-weight: 600;color: #052867;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden;}
/* base hidden */
.uni-overlay {
    display: none;
    position: absolute;
    inset: 0;
    background: rgba(5, 40, 103, 0.9);
    opacity: 0;
    transition: opacity 0.3s ease;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    pointer-events: none;
}
.uni-overlay-text {
    color: white;
    font-weight: 700;
    text-align: center;
    padding: 0 1rem;
    font-size: 12px;
    text-transform: uppercase;
}

@media (min-width: 992px) {
    .overlay-text {
        font-size: 12px;
    }
}

/* md:flex (768px+) */
@media (min-width: 768px) {
    .uni-overlay {
        display: flex;
    }
}

.univer{text-decoration: none}
.university-item:hover {
    transform: translateY(-4px);
}
.university-item:hover .uni-overlay {
    opacity: 1;
}

.listener-section{background: #f9fafb}
.listener-title{
    color:#052867;
    font-size:42px;
    font-weight:700;
    text-transform:uppercase;
    margin-bottom:20px;
}

.listener-content{
    font-size: 16px;
    color: #364153;
    line-height:1.9;
}

.listener-content p{
    margin-bottom:16px;
}

.listener-img{
    overflow:hidden;
    box-shadow:0 4px 10px rgba(0,0,0,.08);
}

.listener-img img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.4s;
}

.listener-img:hover img{
    transform:scale(1.05);
}

.listener-img-lg{
    height:432px;
}

.listener-img-sm{
    height:240px;
}

.listener-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:14px 32px;

    background:#fad203;
    color:#052867;

    text-decoration:none;
    font-weight:700;

    transition:.3s;
}

.listener-btn:hover{
    background:#fff;
    color:#052867;
    box-shadow:0 10px 20px rgba(0,0,0,.1);
}

.listener-btn span{
    font-size:20px;
}

@media (max-width: 767px){

    .listener-title{
        font-size:26px;
    }

    .listener-img-lg{
        height:260px;
    }

    .listener-img-sm{
        height:180px;
    }

}
.iso-banner{
    position:relative;
    height:500px;
    overflow:hidden;
}

.iso-bg{
    position:absolute;
    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:top;

    transform:scale(1.05);
}

.iso-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.72);
}

.iso-content{
    position:relative;
    z-index:2;

    height:500px;

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

    text-align:center;
}

.iso-content h2{
    color:#fff;
    font-size:58px;
    font-weight:800;
    text-transform:uppercase;
    line-height:1.15;
    margin-bottom:15px;
}

.iso-content p{
    color:rgba(255,255,255,.9);
    font-size:18px;
    max-width:850px;
    margin-bottom:30px;
}

.iso-logos{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:32px;
    margin-bottom:32px;
}

.iso-logos img{
    width:100px;
    height:100px;
    object-fit:contain;

    filter:grayscale(100%);
    opacity:.8;

    transition:.3s;
}

.iso-logos img:hover{
    filter:none;
    opacity:1;
}

.iso-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    padding:14px 32px;

    background:#fad203;
    color:#052867;

    text-decoration:none;
    font-weight:700;

    transition:.3s;
}

.iso-btn:hover{
    background:#fff;
    color:#052867;
    box-shadow:0 10px 20px rgba(0,0,0,.15);
}
@media (max-width: 767px){

    .iso-banner{
        height:320px;
    }

    .iso-content{
        height:320px;
        padding:0 20px;
    }

    .iso-content h2{
        font-size:28px;
    }

    .iso-content p{
        font-size:13px;
    }

    .iso-logos{
        gap:12px;
        margin-bottom:20px;
    }

    .iso-logos img{
        width:50px;
        height:50px;
        filter:none;
        opacity:1;
    }

    .iso-btn{
        width:100%;
        max-width:300px;
        font-size:14px;
    }
}

.news-section-title{
    font-size: 24px;
    font-weight: 700;
    color: #052867;
    text-transform: uppercase;
}
.news-desc{font-size: 14px;line-height: 1.7;color: #374151; /* gray-700 */padding: 0 8px;max-width: 720px;margin: 30px auto;}

.news-details{padding: 50px 0}
.breadcrumb-item + .breadcrumb-item::before {
    content: "»";
}
.breadcrumb-item a{color: #052867}
.breadcrumb-item-link a{color: #978d80}
.article-title{
    font-size: 1rem;
    font-weight:700;
    line-height:1.25;
    margin-bottom:1.5rem;
}

.article-image{
    height:320px;
    object-fit:cover;
}

.article-caption{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    background:#000;
    color:#fff;
    padding:1rem 1.5rem;
    font-size:1rem;
    font-weight:600;
}

.article-prev,
.article-next{
    position:absolute;
    top:45%;
    width:40px;
    height:40px;
    border:0;
    background:#000;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    box-shadow:0 .5rem 1rem rgba(0,0,0,.15);
}

.article-prev{
    left:20px;
}

.article-next{
    right:20px;
}

.article-btn-share{
    border:0;
    background:none;
    padding:0;
    color:#000;
    cursor:pointer;
    font-size:1.5rem;
}

.article-content p{
    margin-bottom:1rem;
    line-height:1.8;
}
.article-content ul,
.article-content ol{
    margin-bottom:1rem;
    padding-left:1.5rem;
}

.article-content ul{
    list-style:disc;
}

.article-content ol{
    list-style:decimal;
}

.article-content li{
    margin-bottom:.5rem;
    line-height:1.8;
}

.article-date{
    font-size:.875rem;
    font-style:italic;
    color:#9ca3af;
}

@media (min-width:768px){
    .article-image{
        height:480px;
    }

    .article-title{
        font-size:2rem;
    }
}

@media (min-width:1400px){
    .article-image{
        height:628px;
    }

    .article-title{
        font-size:26px;
    }
}

.sticky-sidebar {
    position: sticky;
    top: 100px;
}

.sidebar-title {
    background: #042e69;
    color: #fff;
    padding: 12px 16px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px 4px 0 0;
}

.sidebar-content {
    background: #fff;
    padding: 15px;
    border: 1px solid #eee;
    border-top: 0;
    border-radius: 0 0 4px 4px;
    max-height: calc(100vh - 180px);
    overflow-y: auto;
}

.sidebar-article-item {
    display: block;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.sidebar-article-item:last-child {
    border-bottom: 0;
    margin-bottom: 0;
    padding-bottom: 0;
}

.sidebar-article-image {
    overflow: hidden;
    border-radius: 4px;
    height: 70px;
}

.sidebar-article-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .3s;
}

.sidebar-article-item:hover .sidebar-article-image img {
    transform: scale(1.1);
}

.sidebar-article-title {
    color: #222;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 6px;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.sidebar-article-item:hover .sidebar-article-title {
    color: #042e69;
}

.page-over{padding: 50px 0}
.df-sidebar-menu {
    top: 100px;
    background: rgba(255,255,255,.9);
    backdrop-filter: blur(10px);
    overflow: hidden;
    z-index: 2;
}

.df-menu-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    color: #6b7280;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: all .3s ease;
}

.df-menu-link::before {
    content: '';
    position: absolute;
    left: 0;
    top: 25%;
    width: 4px;
    height: 50%;
    background: #052867;
    opacity: 0;
    transition: all .3s ease;
}

.df-menu-link:hover {
    color: #052867;
    background: #f8f9fa;
    padding-left: 25px;
}

.df-menu-link:hover::before {
    opacity: .3;
}

.df-menu-link.active {
    background-color: rgba(239, 246, 255, 0.5);;
    color: #052867;
    font-weight: 700;
    padding-left: 25px;
}

.df-menu-link.active::before {
    top: 0;
    height: 100%;
    opacity: 1;
}

.df-active-dot {
    color: #052867;
    font-size: 10px;
    animation: pulse 1.5s infinite;
}
.df-active-dot{
    display:none;
}

.df-menu-link.active .df-active-dot{
    display:block;
    color:#052867;
    font-size:10px;
    animation:pulse 1.5s infinite;
}
@keyframes pulse {
    0%,100% {
        opacity: 1;
    }
    50% {
        opacity: .4;
    }
}

@media (max-width: 767px) {
    .df-menu-link {
        padding: 16px 20px;
        font-size: 14px;
    }

    .df-sidebar-menu {
        position: static !important;
    }
}


.profile-image {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1/1;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,.15);
}

.profile-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.greeting-title {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.5rem;
}

.greeting-back{background: #052867;
    padding: 24px;
    border-radius: 8px;}
.greeting-content {
    font-size: 15px;
    line-height: 1.9;
    text-align: justify;
    color: #fff;
}

.greeting-content p {
    margin-bottom: 1rem;
}

.director-sign {
    margin-top: 2rem;
    padding-top: 1.5rem;
    border-top: 1px solid #dee2e6;
}

.director-sign p {
    text-align: right;
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0 auto;
    max-width: 400px;
}

@media (max-width: 991px) {
    .greeting-title {
        font-size: 1.6rem;
        text-align: center;
    }

    .director-sign p {
        text-align: center;
        max-width: 100%;
    }
}

.object-fit-cover{
    object-fit:cover;
}

.vision-section{
    background:#052867;
    color:#fff;
}

.vision-title{
    border-left:4px solid #fad203;
    padding-left:15px;
    margin-bottom:20px;
    font-size:1.5rem;
    font-weight:600;
}

.vision-image,
.strategy-image{
    height:360px;
    overflow:hidden;
    border-radius:4px;
}

.strategy-item{
    border-left:4px solid #052867;
    background:#f8f9fa;
    padding:1rem;
    margin-bottom:1rem;
    font-weight:500;
    line-height:1.7;
}

@media (max-width: 767px){

    .vision-image,
    .strategy-image{
        height:260px;
    }

    .vision-title{
        font-size:1.25rem;
    }
}

.history-image {
    height: 308px;
    overflow: hidden;
}

.history-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.history-year {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 1rem;
    color: #111827;
}

.history-text {
    color: #4b5563;
    text-align: justify;
    line-height: 1.8;
    margin-bottom: 1rem;
}


@media (max-width: 767px) {

    .history-image {
        height: 240px;
        margin-bottom: 1rem;
    }

    .history-year {
        font-size: 1.75rem;
    }
}
.structure-section{
    background:#052867;
    color:#fff;
    padding:30px;
    border-radius:4px;
    box-shadow:0 1rem 3rem rgba(0,0,0,.175);
}

.structure-title{
    font-size:2rem;
    font-weight:700;
    margin-bottom:1.5rem;
}

.structure-desc{
    font-size:16px;
    line-height:1.8;
    color:rgba(255,255,255,.9);
    margin-bottom:2rem;
}

.timeline{
    position:relative;
    margin-left:20px;
    border-left:4px solid #facc15;
}

.timeline-item{
    position:relative;
    padding-left:30px;
    margin-bottom:30px;
}

.timeline-item:last-child{
    margin-bottom:0;
}

.timeline-dot{
    position:absolute;
    left:-12px;
    top:10px;
    width:18px;
    height:18px;
    background:#facc15;
    border:3px solid #052867;
    border-radius:50%;
    z-index:2;
}

.timeline-card{
    background:rgba(255,255,255,.1);
    backdrop-filter:blur(10px);
    padding:20px;
    border-radius:8px;
    border:1px solid rgba(255,255,255,.08);
    transition:.3s;
}

.timeline-card:hover{
    background:rgba(255,255,255,.15);
}

.timeline-date{
    color:#facc15;
    font-weight:700;
    font-size:18px;
    margin-bottom:8px;
}

.timeline-fact{
    font-style: italic;
    color: rgba(255,255,255,0.7);
    font-size: 13px;
    line-height: 1.35;
    margin-bottom: 0.5rem; /* mb-2 */

}

.timeline-text{
    color:rgba(255,255,255,.9);
    line-height:1.6;
}

@media (max-width:768px){

    .structure-section{
        padding:20px;
    }

    .structure-title{
        font-size:1.5rem;
    }

    .timeline{
        margin-left:10px;
        border-left-width:2px;
    }

    .timeline-item{
        padding-left:20px;
    }

    .timeline-dot{
        width:14px;
        height:14px;
        left:-8px;
    }

    .timeline-date{
        font-size:15px;
    }

    .timeline-text{
        font-size:14px;
    }
}

.graduate-card{
    text-align:center;
    background:rgba(249,250,251,.5);
    border-radius:8px;
    padding:8px;
    transition:.3s;
    height:100%;
}

.graduate-card:hover{
    transform:translateY(-5px);
}

.graduate-image{
    height:220px;
    overflow:hidden;
    border-radius:4px;
}

.graduate-image img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.graduate-name{
    margin-top:12px;
    font-size:16px;
    font-weight:700;
    text-transform:uppercase;
    line-height:1.4;
}

.graduate-title{
    margin-top:6px;
    font-size:12px;
    color:rgba(0,18,30,.75);
    line-height:1.5;
}

@media (max-width:576px){

    .graduate-image{
        height:180px;
    }

    .graduate-name{
        font-size:13px;
    }

    .graduate-title{
        font-size:10px;
    }
}

.social-section {
    width: 100%;
    padding-top: 20px;
    text-align: center;
}


.social-section__inner {
    max-width: 768px;
    margin: 0 auto;
}

.social-section__title {
    font-size: 34px;
    font-weight: 700;
    color: #052867;
    margin: 0 0 12px 0;
    line-height: 1.2;
}

.social-section__text p{
    font-size: 16px;
    color: #6b7280;
    margin: 0;
}
.fb-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid #f3f4f6;
}

.fb-card-img {
    position: relative;
    width: 100%;
    height: 180px;
    overflow: hidden;
}

@media (min-width: 768px) {
    .fb-card-img {
        height: 300px;
    }
}

.fb-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

/* overlay */
.fb-card-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.4);

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

    opacity: 0;
    transition: opacity 0.4s ease;
}

/* hover */
.fb-card:hover img {
    transform: scale(1.1);
}

.fb-card:hover .fb-card-overlay {
    opacity: 1;
}
.featured-news{
    text-decoration:none;
}
.fb-btn-wrapper {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.fb-btn-native {
    display: inline-block;
    padding: 12px 40px;
    background: #facc15;
    color: #052867;
    font-weight: 700;
    font-size: 14px;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    user-select: none;
}

/* hover */
.fb-btn-native:hover {
    background: #fde047;
    box-shadow: 0 6px 16px rgba(0,0,0,0.2);
}

/* click effect */
.fb-btn-native:active {
    transform: scale(0.95);
}

.news-image{
    height:247px;
    overflow:hidden;
}

.news-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.featured-news:hover img{
    transform:scale(1.05);
}

.news-caption{
    background:#052867;
    color:#fff;
    padding:16px;
    min-height:72px;

    display:flex;
    align-items:center;

    font-weight:700;
    font-size:15px;
}

.news-list-item{
    padding-bottom:8px;
    margin-bottom:8px;
    border-bottom:1px solid rgba(250,210,3,.5);
}

.news-list-item a{
    display:block;
    font-size: 14px;
    color:#222;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.news-list-item a:hover{
    color:#0d6efd;
}

.news-list-item span{
    font-size:12px;
    color:#777;
    font-style:italic;
}

.news-btn{
    display:inline-block;
    padding:10px 24px;
    background:#fad203;
    color:#052867;
    text-decoration:none;
    font-weight:700;
    transition:.3s;
}

.news-btn:hover{
    background:#e0c200;
    color:#052867;
    transform:translateY(-2px);
}

.social-section{
    background:#fff;
}

.social-card{
    background: rgb(249 250 251);
    overflow:hidden;
}

.social-img{
    width:100%;
    height:700px;
    object-fit:cover;
    display:block;
}

.social-content{
    background: rgb(249 250 251);
    padding:60px;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.content-border{
    border-left:4px solid #052867;
    padding-left:24px;
}

.content-border h2{
    font-size: 18px;
    font-weight:700;
    line-height:1.25;
    text-align: left;
    margin-bottom:20px;
    color:#000;
}

@media (min-width: 768px) {
    .content-border h2 {
        font-size: 1.25rem; /* 20px */
    }
}

@media (min-width: 992px) {
    .content-border h2 {
        font-size: 1.5rem; /* 24px */
    }
}


.content-border p{
    font-size: 14px;
    color: #364153;
    line-height:1.75;
    text-align: left;
    margin-bottom:0;
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@media (min-width: 768px) {
    .content-border p {
        font-size: 1rem; /* 16px */
    }
}

.content-social-btn{
    display:inline-block;
    margin-top:25px;
    width:260px;

    text-align:center;
    padding:12px 20px;

    background:#fad203;
    color:#052867;

    text-decoration:none;
    font-weight:700;
    text-transform:uppercase;

    transition:.3s;
}

.content-social-btn:hover{
    background:#052867;
    color:#fff;
}

.center-logo{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
    z-index:10;
}

.center-logo img{
    width:135px;
    height:135px;
    border-radius:50%;
    border:4px solid #fff;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.15);
}

@media (max-width: 767px){

    .social-img{
        height:250px;
    }

    .social-content{
        padding:24px;
    }

    .content-border h2{
        font-size:20px;
    }

    .social-btn{
        width:100%;
    }

}

/* FOOTER BASE */
.site-footer {
    background: #052867;
}

/* LOGO */
.footer-logo {
    width: 180px;
}

/* TITLES */
.footer-title {
    color: #fad203;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 15px;
}

/* LIST */
.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li {
    margin-bottom: 8px;
}

.footer-list a {
    font-size: 14px;
    line-height: normal;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: 0.3s;
}
.footer-list span {
    font-size: 14px;
    line-height: normal;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: 0.3s;
}

.footer-list a:hover {
    color: #fad203;
}

/* TEXT */
.footer-text {
    color: rgba(255,255,255,0.8);
    margin-bottom: 10px;
}

/* LINKS */
.footer-link {
    display: block;
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    margin-bottom: 8px;
    transition: 0.3s;
}

.footer-link:hover {
    color: #fad203;
}

/* SOCIAL BUTTON */
.social-btn {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,0.1);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    transition: 0.3s;
}

.social-btn:hover {
    background: #fad203;
    color: #052867;
}

/* BOTTOM */
.footer-bottom {
    border-color: rgba(255,255,255,0.15);
}
.footer-bottom-line{ border-top: 1px solid rgba(255, 255, 255, 0.1);background: rgba(0, 0, 0, 0.1);}
.footer-credit {
    color: #fad203;
    text-decoration: none;
    font-weight: 600;
}

.footer-credit:hover {
    color: #fff;
}

.df-color{color: #052867}
.iso-section-title{
    position: relative;
    padding-left: 60px;
    font-size: 24px;
    font-weight: 700;
    color: #052867;
}

.iso-section-title::before{
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 45px;
    height: 3px;
    background: #052867;
    transform: translateY(-50%);
}

.check-icon{
    width: 24px;
    height: 24px;
    min-width: 24px;
    border-radius: 50%;
    background: #e8f0ff;
    color: #052867;
    font-size: 11px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 12px;
    margin-top: 2px;
}
.iso-head{font-size: 36px;line-height: 40px;font-weight: 700}
.iso-list:hover .check-icon{ background: #052867;color: #fff;}
.iso-card{
    background: #fff;
    border-radius: 12px;
    padding: 22px;
    border: 1px solid #edf0f3;
    text-align: center;
    box-shadow: 0 3px 10px rgba(0,0,0,.05);
    transition: .3s;
}

.iso-card:hover{
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
}
.iso-border{border-left: 4px solid #052867;border-radius: 16px}
.iso-txt{font-size: 16px;line-height: 25px;color: #4a5565}
.iso-card h4{
    color: #052867;
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 0;
}
.iso-back{padding: 30px;background: #fff;border: 1px solid #ededed;border-radius: 16px;}
.iso-card small{color: #4a5565;margin: 0;line-height: 1.8;}
.iso-card p{
    color: #4a5565;
    margin: 0;
    line-height: 1.8;
}

.hover-shadow {
    transition: box-shadow .3s ease;
}

.hover-shadow:hover {
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}
.photos-ms{padding: 5px}
.photos-ms img{width: 100%;height: 100%;object-fit: contain}
.standard-status{
    padding: 20px 0;
}

.section-title{
    font-size: 38px;
    font-weight: 700;
    color: #052867;
    border-bottom: 2px solid #e9ecef;
    padding-bottom: 15px;
    margin-bottom: 40px;
}

.lead-text{
    font-size: 16px;
    line-height: 25px;
    color: #364153;
    text-align: justify;
}

.lead-text strong{
    color: #052867;
}

.year-card{
    background: #f8fafc;
    border: 1px solid #edf2f7;
    border-radius: 16px;
    padding: 20px 10px;
    text-align: center;
    transition: .3s;
    height: 100%;
}

.year-card:hover{
    background: #fff;
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.year{
    font-size: 24px;
    font-weight: 800;
    color: #052867;
}

.year-card small{
    display: block;
    margin-top: 5px;
    color: #6c757d;
    font-size: 11px;
    text-transform: uppercase;
}

.quote-box{
    background: rgba(5,40,103,.05);
    border-left: 4px solid #052867;
    padding: 20px;
    border-radius: 12px;
    font-style: italic;
    color: #555;
}

.certificate-box{
    position: relative;
    display: block;
    overflow: hidden;
    border-radius: 24px;
    border: 4px solid #fff;
    box-shadow: 0 15px 40px rgba(0,0,0,.12);
}

.certificate-img{
    width: 100%;
    transition: .7s;
    background: #f5f5f5;
}

.certificate-box:hover .certificate-img{
    transform: scale(1.08);
}
.certificate-bottom-area{padding: 30px;background: #f8fafc;border-radius: 12px;}
.certificate-section h1{margin-bottom: 15px;text-align: center;font-size: 24px;line-height: 25px;font-weight: 700;color: #052867}
.certificate-section p{font-size: 12px;text-align: center;line-height: 20px;font-weight: 400;text-transform: uppercase;color: #99a1af}
.certificate-number{font-size: 18px;font-weight: 700;color: #052867;margin: 30px 0 40px 0}
.zoom-overlay{
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.25);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: .3s;
}

.certificate-box:hover .zoom-overlay{
    opacity: 1;
}

.zoom-overlay span{
    background: #fff;
    padding: 10px 20px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    color: #052867;
}

.flip-card {
    perspective: 1200px;
    position: relative;
    height: 795px;
}

.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s;
    transform-style: preserve-3d;
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

.flip-card-front,
.flip-card-back {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 795px;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}
.flip-card-front img,
.flip-card-back img{width: 100%;height: 100%;object-fit: cover}
.flip-card-back {
    transform: rotateY(180deg);
}


.articles-highlight{margin-bottom: 40px}
.articles-main-item{
    height: 600px;
}

.articles-side-item{
    height: 288px;
}
.w-80{width: max-content}
.articles-overlay{
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 24px;
    background: linear-gradient(
            to top,
            rgba(0,0,0,.85),
            rgba(0,0,0,.2),
            transparent
    );
}

.articles-main-item img,
.articles-side-item img{
    transition: .5s ease;
}

.articles-main-item:hover img,
.articles-side-item:hover img{
    transform: scale(1.05);
}

.articles-feature-name{font-size: 24px;line-height: 30px;font-weight: 700;color: #fff}
.articles-name{font-size: 14px;line-height: 20px;font-weight: 700;color: #fff}
.bg-primary{
    background: #042e69 !important;
}

@media (max-width: 767.98px){

    .articles-main-item,
    .articles-side-item{
        height: 300px;
    }

    .articles-main-item h2{
        font-size: 1.25rem;
    }

    .articles-side-item h5{
        font-size: .95rem;
    }
}

.article-section-tabs{
    border-bottom: 1px solid #dee2e6;
}

.article-section-nav{
    gap: 2rem;
    padding-bottom: 12px;
    flex-wrap: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.article-section-nav::-webkit-scrollbar{
    display: none;
}

.article-section-nav .nav-link{
    position: relative;
    padding: 0;
    color: #6c757d;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    white-space: nowrap;
    transition: .3s;
    border: 0;
    background: transparent;
}

.article-section-nav .nav-link:hover{
    color: #042e69;
}

.article-section-nav .nav-link.active{
    color: #042e69;
    background: transparent;
}

.article-section-nav .nav-link.active::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -14px;
    height: 3px;
    background: #042e69;
    border-radius: 10px 10px 0 0;
}

@media(max-width:768px){
    .article-section-nav{
        gap: 1.25rem;
    }

    .article-section--nav .nav-link{
        font-size: 13px;
    }
}

.article-list-card{
    position: relative;
    display: block;
    overflow: hidden;
    aspect-ratio: 16/9;
    text-decoration: none;
}

.article-list-card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .7s;
}

.article-list-card:hover img{
    transform: scale(1.1);
}

.article-list-card-overlay{
    position: absolute;
    inset: 0;
    padding: 15px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background: linear-gradient(
            to top,
            rgba(0,0,0,.9),
            rgba(0,0,0,.2),
            transparent
    );
}

.article-list-card h2{
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 8px;

    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.article-list-card:hover h2{
    text-decoration: underline;
}

.article-list-card span{
    color: #d1d5db;
    font-size: 11px;
}

@media (max-width: 767px){
    .article-list-card{
        aspect-ratio: 4/3;
    }

    .article-list-card h2{
        font-size: 14px;
    }
}

.default-title{
    font-size: 18px;
    font-weight: 700;
    color: #000;
}
.default-image{position: relative;min-width: 0;word-wrap: break-word;background-color: #fff;background-clip: border-box;border: 1px solid rgba(0, 0, 0, .125);border-radius: 10px;height: 600px}
.default-image img{width: 100%;height: 100%;object-fit: contain;object-position: top}
@media (min-width: 768px){
    .default-title{
        font-size: 1.875rem; /* 30px */
    }
}
.default-text{
    margin-top: 20px;
    font-size:12px;
    line-height:1.625;
    color: #000;
}

@media (min-width:768px){
    .default-text{
        font-size:14px;
    }
}

@media (min-width:1200px){
    .default-text{
        font-size:16px;
    }
}
.articles__pagination{display: flex;align-items: center;justify-content:center;padding: 40px;}
.uk-pagination {
    display: flex
;
    flex-wrap: wrap;
    margin-left: -20px;
    padding: 0;
    list-style: none;
}
.uk-pagination>* {
    width: 35px;
    height: 35px;
    border: 1px solid #e8e9ec;
    border-radius: 5px;
    padding: 0;
    line-height: 35px;
    text-align: center;
    margin: 0 4px;
    transition: .5s all;
}
.uk-pagination>.uk-active>* {
    color: #fff;
}
.uk-pagination>.uk-active {
    background: #042e69;
    border-color: #042e69;
}
.contact-back{padding: 40px 0;margin-bottom: 40px;background: #eff6ff}
.contact-head{max-width: 512px;font-size: 24px;line-height: 32px;font-weight: 600;color: #3455a4}

.lang-pill{
    display:inline-flex;
    background:#eef2f7;
    padding:3px;
    border-radius:50px;
    margin-left: 20px;
}

.lang-pill a{
    padding:6px 14px;
    border-radius:50px;
    text-decoration:none;
    color:#052867;
    font-size:13px;
    font-weight:600;
}

.lang-pill a.active{
    background:#052867;
    color:#fff;
}
.filter-area{padding: 20px}
.filter-label{
    font-size:10px;
    font-weight:700;
    color:#6b7280;
    text-transform:uppercase;
    letter-spacing:.05em;
}

.mono{
    font-family: monospace;
    font-size:14px;
}

.file-title{
    font-size:14px;
    font-weight:500;
    color:#374151;
    text-transform:uppercase;
    margin:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.table-row{
    border-bottom:1px solid #f3f4f6;
    transition:background .2s ease;
}

.table-row:hover{
    background:#f9fafb;
}

.download-btn{
    color:#052867;
    font-weight:600;
    text-decoration:underline;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

.download-btn:hover{
    opacity:.8;
}

.university-back{background-color: #052867;}
.uni-br{border-left: 4px solid #fad203;}
.university-view-img{height: 300px;width: 300px}
.university-view-name{font-size: 36px;line-height: normal;font-weight: 700;color: #fff}
.university-view-text{font-size: 16px;line-height: 30px;font-weight: 400;text-align: justify;color: #eff6ff}
.university-info-bottom{padding: 60px 0}
.dept-btn .dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #cbd5e1;
    flex-shrink: 0;
}
.dept-btn:hover .dot {
    background-color: #94a3b8;
}
.dept-btn {
    background: none;
    border: none;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 16px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    color: #6b7280;
    text-align: left;
    text-decoration: none;
    transition: background 0.15s;
}
.dept-btn:hover {
    background-color: #f9fafb;
}
.dept-btn.active{background: #052867;color: #fff}
.dept-btn.active svg{color: #fff}
.dept-btn.active .dot{background-color: #fff}
.dept-btn svg {
    width: 9px;
    height: 9px;
    flex-shrink: 0;
    color: #9ca3af;
}
.division-text{font-size: 14px; line-height: 1.7;text-align: justify;color: #4a5565}
.department-text{font-size: 14px; line-height: 1.7;text-align: justify;color: #4a5565}
.department-value-item{font-size: 14px; line-height: 1.7;text-align: justify;color: #4a5565}
.division-value-item ul li{list-style: disc;font-size: 16px;color: #4a5565}
.dept-list {
    max-height: 300px;
    overflow-y: auto;
}
.division-header{
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:16px;
    margin-bottom:24px;
    padding-bottom:16px;
    border-bottom:1px solid #e5e7eb;
}

.division-header-content{
    display:flex;
    flex-direction:column;
    gap:4px;
}

.division-title{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:0;
    font-size:18px;
    font-weight:800;
    color:#042e69;
    line-height:1.3;
}

.division-title span{
    word-break:break-word;
}

@media (min-width:768px){

    .division-header{
        flex-direction:row;
        align-items:center;
        margin-bottom:32px;
    }

    .division-title{
        font-size:20px;
    }

}
@media (min-width: 992px) {
    .dept-list {
        max-height: none;
    }
}
.section-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #9ca3af;
    padding: 0 16px 6px;
}
.tab-nav .btn {
    padding: 14px 20px;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-radius: 0;
    transition: all 0.2s;
}
.tab-nav .btn.active {
    background-color: #052867;
    border-color: #052867;
    color: #fff;
}
.tab-nav .btn:not(.active) {
    background-color: transparent;
    border-color: #00121E;
    color: #00121E;
    opacity: 0.75;
}
.tab-nav .btn:not(.active):hover {
    opacity: 1;
}
.info-block {
    border-left: 4px solid #dbeafe;
    padding: 6px 0 6px 16px;
}
.info-main h3{margin-bottom: 20px;font-weight: 700;color: #052867; font-size: 14px;}
.info-main h2{margin-bottom: 20px;font-weight: 700;color: #052867; font-size: 14px;}
.info-main p{margin-bottom: 15px;font-weight: 400;color: #6c757d; font-size: 13px;}
.info-main p img{width: 100%;height: 100%;border-radius: 10px}
.info-main ul li{margin-bottom: 15px;font-weight: 400;color: #6c757d; font-size: 13px;}

.section-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #042e69;
    font-weight: 700;
}
.section-heading .bar {
    width: 6px;
    height: 22px;
    background-color: #042e69;
    flex-shrink: 0;
    border-radius: 2px;
}
.staff-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border: 1px solid #f3f4f6;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s;
    text-decoration: none;
}
.staff-card:hover {
    border-color: #052867;
    box-shadow: 0 4px 12px rgba(5,40,103,0.1);
}
.staff-avatar {
    width: 68px;
    height: 68px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    border: 2px solid #f3f4f6;
    background: #f9fafb;
    position: relative;
}
.staff-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
}
.staff-card:hover .staff-avatar {
    border-color: #dbeafe;
}
.staff-name {
    font-weight: 700;
    color: #052867;
    font-size: 13px;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.staff-role {
    font-size: 11px;
    color: #6b7280;
    line-height: 1.4;
}
.staff-link {
    font-size: 10px;
    color: #2563eb;
    font-weight: 700;
    display: block;
    margin-top: 4px;
}
.content-card {
    background: #fff;
    border: 1px solid #f3f4f6;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    padding: 1.5rem;
    margin-bottom: 1rem;
}
.unit-btn {
    width: 100%;
    text-align: left;
    padding: 13px 12px;
    font-size: 13px;
    border-radius: 3px;
    background: #fff;
    color: #4b5563;
    text-decoration: none;
    margin-bottom: 10px;
    border: 1px solid #f3f4f6;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background 0.15s, color 0.15s;
    cursor: pointer;
}
.unit-btn:hover {
    background-color: #eff6ff;
}
.unit-btn.active{background: #052867;color: #fff}
.list-style-ul li{font-size: 15px;line-height: 20px;color: #4a5565}
.list-style-ul h3{margin-bottom: 20px;font-weight: 700;color: #052867;font-size: 14px;}
.info-name{color: #052867; font-size: 14px;}
.info-contact-head{color: #052867; font-size: 14px}
.info-contact-txt{font-size: 13px;}
.dept-empty p{font-size: 12px;text-align: center;color: #99a1af}
.unit-btn svg {
    color: #d1d5db;
    flex-shrink: 0;
}
.unit-btn:hover svg {
    color: #042e69;
}
.logo-wrapper {
    aspect-ratio: 1 / 1;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2.5rem;
    position: relative;
}
.logo-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    inset: 0;
    padding: 2.5rem;
}