﻿/*  
    ===========================
    =     GLOBAL VARIABLE     =
    =========================== 
*/
:root {
    --footer-height: 1.17rem;
    --footer-background: linear-gradient(0deg, #1B9EDF 0%, #0077B2 100%);
    --text-skin: #FFF;
}
a{
    text-decoration:none;
}
html {
    width: 100%;
    height: 100%;
    font-size: calc(var(--body-max-width) / 7.5) !important;
    background: var(--skin-html-background);
    scrollbar-width: none;
}

body {
    background-color: var(--skin-body-color);
    max-width: var(--body-max-width);
    width: 100%;
    height: auto;
    margin: 0 auto;
    font-family: Roboto;
}

html[data-ui-contain="0"] body {
    max-width: 100vw;
}

img, video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

p {
    margin-bottom: .15rem;
}

section {
    width: 90%;
    margin: .3rem auto 0 auto;
}

    section .title-section {
        display: flex;
        /*margin: var(--margin-top-bottom) 0;*/
        height: .6rem;
        margin-bottom: .3rem;
        display: flex;
        justify-content: space-between;
    }

        section .title-section .title-header {
            display: flex;
            justify-content: flex-start;
        }

        section .title-section .title-info {
            display: flex;
        }

        section .title-section.more {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        section .title-section .title-before {
            width: 50px;
            height: 35px;
            background-repeat: no-repeat;
            background-position: bottom;
			background-size: contain;
        }

        section .title-section .title-desc {
            background: linear-gradient(270deg, #B4E6FF 0%, #FFF 100%);
            clip-path: polygon(0% 0%, 100% 0%, 95% 100%, 0% 100%);
            border-bottom-right-radius: 40px;
            font-size: .3rem;
            font-weight: bold;
            color: #1B9EDF;
            padding: 4px 20px ;
            min-width: 150px;
        }

.btn-more {
    border-radius: 5.168px;
    background: #1B9EDF;
    width: 1.3rem;
    height: .33rem;
    color: #FFF;
    font-size: .17rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    border: none;
}

    .btn-more svg {
        vertical-align: baseline;
    }

.slick-dots li button:before {
    font-size: .8rem !important;
    color: #008CFF !important;
}

.slick-dots {
    bottom: -.75rem !important;
}

.top-slide .slick-dots {
    bottom: -.25rem !important;
}

    .top-slide .slick-dots li button:before {
        font-size: .5rem !important;
        color: #000 !important;
    }

.top-slide.slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

.hashtag {
    color: #0d6efd;
}
/*  
    ===========================
    =     GLOBAL VARIABLE     =
    =========================== 
*/
/*  
    ===========================
    =         HEADER          =
    =========================== 
*/
/* ===== Clean, full header with aligned icons ===== */
header.site-header {
  --glass: rgba(255,255,255,.55);
  --glass-edge: rgba(255,255,255,.85);
  --ink: #0c2b4a;
  --pill-bg: rgba(255,255,255,.7);
  --pill-active: #1B9EDF;

  max-width: var(--body-max-width);
  position: var(--header-position, sticky);
  top: 0;
  z-index: 200;
  width: 100%;
  background: var(--header-background, linear-gradient(0deg, #a8d5f6b9 0%, #fffffffc 100%));
  backdrop-filter: saturate(120%) blur(8px);
  box-shadow: 0 6px 20px rgba(16,56,94,.12);
  border-bottom: 1px solid rgba(20,66,114,.08);
}

/* Animated accent line */
header.site-header::before {
  content: "";
  display: block;

  background: linear-gradient(90deg, #56a7d5, #3753c5);
  background-size: 200% 100%;
  animation: moveAccent 8s linear infinite;
}

@keyframes moveAccent {
  0% { background-position: 0%; }
  100% { background-position: 200%; }
}

/* Inner header flex container */
.header-inner {
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  position: relative;
}

/* Center logo stays perfectly centered */
.header-inner .center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* Common brand link style */
.brand {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: var(--ink);
}

/* Default logo size (center 8JJ logo) */
.brand-logo {
  height: 65px;
  width: auto;
  object-fit: contain;
  vertical-align: top;
}

/* Smaller icons (menu + bell) */
.small-icon {
  height: 35px;
  width: auto;
  object-fit: contain;
  margin-left: 5px;
  margin-right: 5px;
  opacity: 0.8;
  vertical-align: top;
}

/* Optional brand name text gradient */
.brand-name {
  font-size: .34rem;
  font-weight: 900;
  letter-spacing: .5px;
  background: linear-gradient(180deg, #0b4b86 0%, #1B9EDF 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}



            
/*  
    ===========================
    =         HEADER          =
    =========================== 
*/
/*  
    ===========================
    =         FOOTER          =
    =========================== 
*/

/* ===== Fallbacks if your CSS vars aren’t defined ===== */
:root{
  --body-max-width: 560px;
 
  --footer-background: #389FDA;
  --text-skin: #0c1b2a;
  --brand: #11a2eb;
  --brand-2: #169ee2;
  --ring: rgba(17,162,235,.25);
}

/* ===== Footer container ===== */
.app-footer{
  position: sticky;
  bottom: 0;
  width: 100%;
  max-width: var(--body-max-width);
  margin: 0 auto;
  padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  z-index: 50;
  background: transparent;
}

/* ===== Floating dock ===== */
.dock {
  display: flex; /* switched from grid to flex for true centering control */
  justify-content: space-around; /* even spacing for 3 tabs */
  align-items: center; /* vertically centers the icons + text */
  height: var(--footer-height);
  padding: 50px 20px;
  border-radius: 14px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  background:
    linear-gradient(180deg, rgba(157, 187, 230, 0.20) 0%, rgba(255, 255, 255, 0.63) 100%),
    var(--footer-background);
  box-shadow: 0 8px 24px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.25);
}

/* ===== Tabs: Alignment Fixed ===== */
.tab {
  position: relative;
  display: flex;
  flex-direction: column; /* stack icon + label */
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-decoration: none;
  border-radius: 12px;
  padding: 0px 30px;
  transition: transform .15s ease, background-color .2s ease, box-shadow .2s ease;
  outline: none;
  min-width: 0;
}

.tab:focus-visible {
  box-shadow: 0 0 0 3px var(--ring);
}

.tab:hover {
  background: rgba(255,255,255,.45);
  transform: translateY(-1px);
}

/* ===== Icon + Label ===== */
.tab .icon {
  width: 65px;
  /* width: clamp(30px, 12vw, 65px); min 30px, max 65px, scales with viewport */
  object-fit: contain;
  height: auto;  /* maintain aspect ratio */
  max-width: 100%; /* prevent overflow */
}

.tab .label {
  color: var(--text-skin);
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .4px;
  white-space: nowrap;
}

/* ===== Active indicator “pill” ===== */
.tab .pill {
  position: absolute;
  bottom: 4px;
  width: 26px;
  height: 6px;
  border-radius: 999px;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity .2s ease, transform .2s ease, background .2s ease;
  background: linear-gradient(90deg, var(--brand), var(--brand-2));
}

/* ===== Optional badge ===== */
.tab .badge {
  position: absolute;
  top: 2px;
  right: 6px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 999px;
  background: #ff2d55;
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(0,0,0,.2);
}

/* ===== Ripple ===== */
.tab .ripple {
  position: absolute;
  border-radius: 50%;
  transform: scale(0);
  background: rgba(255,255,255,.6);
  animation: ripple .45s ease-out forwards;
  pointer-events: none;
}
@keyframes ripple {
  to { transform: scale(1); opacity: 0; }
}

/* ===== Active state ===== */
.tab.is-active .label {
  color: var(--brand);
}
.tab.is-active .pill {
  opacity: 1;
  transform: translateY(8);
}
.tab:hover {
  background: rgba(255,255,255,.55);
  box-shadow: inset 0 0 0 1px rgba(27,158,223,.25);
  transform: translateY(-1px);
}

/* ===== Dark mode ===== */
@media (prefers-color-scheme: dark) {
  :root {
    --text-skin: #e5eef7;
    --footer-background: rgba(16,20,28,.55);
    --ring: rgba(17,162,235,.4);
  }
  .dock {
    background:
      linear-gradient(180deg, rgba(30,35,45,.75) 0%, rgba(20,24,32,.6) 100%),
      var(--footer-background);
    box-shadow: 0 10px 28px rgba(0,0,0,.45), inset 0 0 0 1px rgba(255,255,255,.06);
  }
  .tab:hover { background: rgba(255,255,255,.08);  }
  .tab.is-active { background: rgba(255,255,255,.10); }
}

/* ===== Small devices fine-tune ===== */
/* Remove or comment out these lines in your media queries */

@media (max-width: 380px) {
    .dock {
        height: 1rem;
        padding: 30px;
        border-radius: 14px;       
    }
  .tab .icon { width: 30px; height: 30px; }
  .tab .label { font-size: 11.5px; letter-spacing: .3px; }
  .tab .pill { width: 22px; }
}

@media (max-width: 480px) {
    .dock {
        height: 1rem;
        padding: 30px;
        border-radius: 14px;       
    }
  .tab .icon { width: 30px; height: 30px; }
  .tab .label { font-size: 11.5px; letter-spacing: .3px; }
  .tab .pill { width: 22px; }
}


/* 
/*  
    ===========================
    =         FOOTER          =
    ===========================
*/


/* ===== Tokens (merged palette & scope under #ContactUs) ===== */
#ContactUs {
  --bg: #050862;             /* page backdrop */
  --panel: #a4c9f4;          /* header gradient start */
  --panel-2: #f7f7f7;        /* header gradient end */
  --ring: #0a133c;           /* indicator color */
  --text: #167eb3;
  --tile: #ffffff;           /* white app tiles */
  --radius-tile: 18px;
  --shadow: 0 10px 28px rgba(0, 0, 0, .35);
}

/* ===== Wrapper ===== */
#ContactUs .brands-wrap {
  max-width: 980px;
  margin: 18px auto 24px;
  background: transparent;
}

/* ===== Header Bar ===== */
#ContactUs .cat-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border-radius: 12px;
  color: var(--text);
  background: linear-gradient(180deg, var(--panel), var(--panel-2));
  box-shadow: 0 1px 0 rgb(133, 155, 255) inset, var(--shadow);
}

#ContactUs .cat-title {
  margin: 0;
  font: 600 18px/1 "Times New Roman", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

#ContactUs .cat-dot {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--ring);
  box-shadow: 0 0 0 2px rgba(13, 4, 109, 0.626),
              inset 0 0 12px rgba(47, 120, 255, 0.823);
}

/* ===== GRID (Desktop Default) ===== */
#ContactUs .brand-grid {
  list-style: none;
  margin: 16px 6px 0;
  padding: 0;
  display: grid;
  gap: 15px;
  grid-template-columns: repeat(4, 1fr);
}

/* ===== Each Brand Item ===== */
#ContactUs .brand-item {
  text-align: center;
}

/* ===== TILE (Default) ===== */
#ContactUs .tile {
  display: grid;
  width: auto;
  place-items: center;
  border-radius: var(--radius-tile);
  margin: 10px;
  background: var(--tile);
  background-color: #030404;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  text-decoration: none;
}

#ContactUs .tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

#ContactUs .tile img {
  width: 90%;
  height: auto;
  display: block;
  object-fit: contain;
}

/* ===== Placeholder Tiles (Dashed) ===== */
#ContactUs .tile.placeholder {
  background: transparent;
  background-color: #b6b7b8;
  box-shadow: none;
}

#ContactUs .brand-label {
  display: block;
  block-size: auto;
  color: #0a3878;
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size:18px;
}



/*  
    ===========================
    =       TOP VIDEO         =
    ===========================
*/
html[data-ui-contain="1"] #TopVideo {
    height: calc(var(--body-max-width) / 16 * 9); /* Tỉ lệ video 16:9 */
}

#TopVideo {
    width: var(--body-max-width);
    height: calc(100vw / 16 * 9); /* Tỉ lệ video 16:9 */
    margin: 0;
}

#MidMenu {
    border-radius: 16px;
    background: var(--mid-menu-background);
    box-shadow: 0 2px 9.2px 0 rgba(0, 0, 0, 0.10);
    height: var(--mid-menu-height);
    display: flex;
    justify-content: space-between;
    gap: .15rem;
    padding: .1rem 0;
}

    #MidMenu .mid-menu-item {
        width: 25%;
        text-align: center;
    }

        #MidMenu .mid-menu-item a {
            display: grid;
            width: 100%;
            text-decoration: none;
        }

            #MidMenu .mid-menu-item a .mid-menu-item-img {
                width: .75rem;
                height: .75rem;
                margin: 0 auto;
            }

                #MidMenu .mid-menu-item a .mid-menu-item-img img {
                    vertical-align: top;
                }

            #MidMenu .mid-menu-item a span {
                color: var(--text-skin);
                text-align: center;
                font-size: .23rem;
                font-style: normal;
                font-weight: 700;
                line-height: normal;
                text-transform: uppercase;
                margin-top: .1rem;
            }
/*  
    ===========================
    =       TOP VIDEO         =
    ===========================
*/
/*  
    ===========================
    =       TOP SLIDE         =
    ===========================
*/
.top-slide {
    width: 100%;
}

.marquee {
    display: flex;
    height: .6rem;
}

    .marquee img {
        width: .45rem;
        height: .45rem;
        margin: 0 .15rem;
    }

    .marquee .marquee-wrap {
        width: 100%;
        box-sizing: border-box;
        height: 100%;
        overflow: hidden;
        white-space: nowrap;
        display: flex;
    }

    .marquee .marquee-wrap p {
    display: inline-block;
    padding-left: 100%;
    font-size: .3rem;
    animation: 30s linear 0s infinite normal none running marquee-scroll;
}

@keyframes marquee-scroll {
    0% {
        transform: translateX(0px);
    }

    100% {
        transform: translateX(-100%);
    }
}
/*  
    ===========================
    =       TOP SLIDE         =
    ===========================
*/
/*  
    ===========================
    =       CONTACT US         =
    ===========================
*/

/*  
/* ===== CONTACT US — Device Compatible, Preserves Original Desktop Size ===== */
.contact-us-container {
  border-radius: 15px;
  background: linear-gradient(0deg, #389FDA 0%, #B2E3FF 100%);
  box-shadow: 0 4px 4px rgba(0,0,0,0.25);

  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
  padding: .15rem;
  gap: .2rem;
  height: 150px;   /* ✅ keeps original desktop size */
}

/* Contact item card */
.contact-us-container .contact-us-item {
  border-radius: 10px;
  background: #FFF;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: .15rem;
  padding: .15rem;
  transition: transform .2s ease, box-shadow .2s ease;
}
.contact-us-container .contact-us-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(27,158,223,.25);
}

/* Logo section */
.contact-us-container .contact-us-item .item-logo {
  width: .59rem;
  height: .59rem;
  display: flex;
  justify-content: center;
  margin-left: .3rem;
}
.contact-us-container .contact-us-item .item-logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Text section */
.contact-us-container .contact-us-item .item-desc {
  display: grid;
}
.contact-us-container .contact-us-item .item-desc span {
  color: #000000;
  font-size: .30rem;
  font-weight: 530;
  line-height: normal;
}

/* Link styling */
.contact-us-container a {
  font-size: .20rem;
  text-decoration: none;
  color: #000000;
  font-weight: 530;
  line-height: normal;
  text-align: left;
}

/* ===== RESPONSIVE FIXES ===== */

/* Phones (stack layout) */
@media (max-width: 480px) {
  .contact-us-container {
    /* grid-template-columns: 1fr; */
    /* grid-template-rows: auto; */
    height: auto;                 /* ✅ let height adjust on mobile */
    gap: .25rem;
    padding: .2rem;
  }
  .contact-us-container .contact-us-item {
    padding: .25rem;
  }
  .contact-us-container .contact-us-item .item-logo {
    width: .8rem;
    height: .8rem;
    margin-left: .2rem;
  }
  .contact-us-container .contact-us-item .item-desc span {
    font-size: .28rem;
  }
}

/* Tablets (2 rows × 2 columns, same as original but fluid) */
@media (min-width: 481px) and (max-width: 1023px) {
  .contact-us-container {
    grid-template-columns: repeat(2, 1fr);
    height: auto;  /* slight flexibility for medium screens */
  }
}

/*  
    ===========================
    =           News          =
    ===========================
*/

.news-container{
  box-shadow: 0 4px 4px rgba(0,0,0,.25);
  margin-bottom: .4rem !important; /* fixed: was 'rem' */
  border-top-left-radius: 17px;
  border-top-right-radius: 17px;
}

.news-container .btn-more{ margin-right: .15rem; }

.news-item{
  width: 100%;
  border-radius: 17px;
  background: #FAFAFA;
  cursor: default;                 /* friendlier for touch; avoid 'grabbing' on phones */
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
}

.news-item .news-image img{
  display:block;
  width:100%;
  height:auto;
  border-top-left-radius: 17px;
  border-top-right-radius: 17px;
}

/* Title row */
.news-item .news-title{
  display: flex;
        justify-content: space-between;
        padding-left: .3rem;
        padding-top: .15rem;
  /* padding: .18rem .18rem .12rem .22rem; */
}

.news-item .news-title span{
  /* color:#1B9EDF;
  font-family:"Times New Roman", serif;
  font-size: 0.22rem;   
  font-weight:700;
  line-height:1.3;
  text-transform:uppercase; */
  color: #1B9EDF;
            /* font-family: "Times New Roman"; */
            font-size: 0.28rem;  /* slightly bigger than 0.18rem */
            font-weight: 400;
            line-height: 1.5;
            text-transform: none;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            max-height: calc(1.3em * 2);

}

/* Summary */
.news-item .news-summary{
  color:#000;
  text-align:left;  /* 'justify' can cause extra height on mobile */
  font-size: clamp(.15rem, 1.4vw, .19rem);   /* fluid */
  font-weight:400;
  line-height:1.45;
  /* padding:.14rem .18rem .18rem; */
}

/* ============== Compact Variant ============== */
#News.news--compact .title-section{ margin-bottom:.3rem; }

/* Centralized, tweakable variables */
#News.news--compact .news-container{
  --img-aspect: 16/9;                    /* default aspect ratio */
  --img-max-h: clamp(1.2rem, 26vw, 2rem);/* height ceiling that scales */
  --title-size: 0.28rem;   /* title font size */
  --summary-size: clamp(.14rem, 1.4vw, .18rem);
}

/* Card: slightly smaller radius + tighter gaps */
#News.news--compact .news-item{
  margin-bottom:.15rem;
  border-radius:14px;
}

/* Image: full-width responsive */
#News.news--compact .news-image {
  width: 100%;
  height: 100%;
  max-height: none;         /* allow natural image height */
  aspect-ratio: auto;       /* remove aspect constraint */
  overflow: hidden;
}

#News.news--compact .news-image img {
  display: block;
  width: 100%;
  height: 100%;             /* maintain natural proportions */
  object-fit: cover;        /* crop slightly if needed */
  border-radius: 10px;
}

/* Title row: tighter */
#News.news--compact .news-title{
  padding:.12rem .14rem .08rem .18rem;
  gap:.1rem;
}
#News.news--compact .news-title span{
  font-size: var(--title-size);
  text-transform:none;                 /* saves vertical space */
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  max-height: calc(1.35em * 2);
}

/* “More” button: compact & no wrap */
#News.news--compact .btn-more{
  margin-right:.08rem;
  padding:.08rem .12rem;
  line-height:1;
  font-size:.14rem;
  border-radius:12px;
  white-space:nowrap;
  flex:0 0 auto;
}

/* Summary: clamp to 2 lines */
#News.news--compact .news-summary{
  font-size: var(--summary-size);
  padding:.1rem .15rem .14rem;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Less bottom space on compact list */
#News.news--compact .news-container{ margin-bottom:.32rem !important; }

/* ============== Responsive Breakpoints ============== */
/* Small phones */
@media (max-width: 480px){
  #News.news--compact .news-container{
    --img-aspect: 3/2;                 /* a touch taller on very small screens */
    --img-max-h: clamp(1.1rem, 35vw, 1.6rem);
  }
  #News.news--compact .btn-more{
    padding:.06rem .1rem;
    /* font-size:.13rem; */
  }
  .news-item{ cursor: default; }
}

/* Tablets / small laptops */
@media (min-width: 768px){
  #News.news--compact .news-container{
    --img-aspect: 16/9;
    --img-max-h: clamp(1.4rem, 22vw, 1.9rem);
  }
  #News.news--compact .news-title{ padding:.12rem .16rem .08rem .2rem; }
}

/* Desktops */
@media (min-width: 1200px){
  #News.news--compact .news-container{
    --img-aspect: 21/9;
    --img-max-h: clamp(1.6rem, 18vw, 2.2rem);
    /* --title-size: clamp(.18rem, 1.1vw, .22rem); */
    --summary-size: clamp(.16rem, 1.0vw, .19rem);
  }
}

/* Very large screens */
@media (min-width: 1600px){
  #News.news--compact .news-container{
    --img-aspect: 21/9;
    --img-max-h: 2.4rem; /* cap the image height to keep it “compact” */
  }
}


/*  
    ===========================
    =           News          =
    ===========================
*/
/*  
    ===========================
    =           Event         =
    ===========================
*/
.event-bottom-slide {
    direction: rtl;
}

.event-slide {
    cursor: grabbing;
    margin: 0 0 .15rem 0;
}

    .event-slide .event-item {
        margin: 0 .05rem;
    }

        .event-slide .event-item img {
            border-radius: 10px;
        }
/*  
    ===========================
    =           Event         =
    ===========================
*/
/*  
    ===========================
    =          Videos         =
    ===========================
*/
.videos-container {
    width: 100%;
    display: flex;
    overflow-y: scroll;
}

    .videos-container .video-item {
        box-shadow: 0 4px 2px 0 rgba(0, 0, 0, 0.35);
        height: 3.2rem;
        display: grid;
        background: #389FDA;
    }

        .videos-container .video-item.video-crop {
            cursor: pointer;
        }

        .videos-container .video-item:first-child {
            margin-right: .15rem;
            border-radius: .14rem;
        }

        .videos-container .video-item span {
            color: #FFF;
            font-size: .16rem;
            font-style: normal;
            font-weight: 500;
            line-height: normal;
            text-wrap: nowrap;
            margin-left: .15rem;
        }

        .videos-container .video-item video {
            width: 5rem;
            height: auto;
            object-fit: contain;
            border-top-left-radius: .14rem;
            border-top-right-radius: .14rem;
        }

        .videos-container .video-item:not(:first-child) {
            position: relative;
            border-top-left-radius: .14rem;
            border-bottom-left-radius: .14rem;
        }

            .videos-container .video-item:not(:first-child) video {
                width: 5rem;
                height: auto;
            }
/*  
    ===========================
    =          Videos         =
    ===========================
*/
/*  
    ===========================
    =         Charity         =
    ===========================
*/
.charity-item {
    border-radius: 20px;
    cursor: grabbing;
}

    .charity-item img {
        border-radius: 20px;
        cursor: grabbing;
    }
/*  
    ===========================
    =         Charity         =
    ===========================
*/
/*  
    ===========================
    =         Winner          =
    ===========================
*/
#winnerSection {
    margin-top: .9rem;
}

    #winnerSection .winner-board-header {
        display: flex;
        justify-content: space-between;
        background: #003261;
        border-radius: .26rem .26rem 0 0;
        padding: .075rem;
    }

        #winnerSection .winner-board-header img {
            width: .7rem;
            height: .7rem;
        }

        #winnerSection .winner-board-header span {
            color: #FFF;
            font-size: .26rem;
            font-style: normal;
            font-weight: 900;
            line-height: normal;
            margin: auto;
            text-transform: uppercase;
        }

    #winnerSection .winner-board-content {
        position: relative;
        width: 100%;
        height: auto;
        overflow: hidden;
        background: linear-gradient(0deg, #389FDA 0%, #B2E3FF 100%);
        border-radius: 0 0 .26rem .26rem;
    }

.winner-board-content .winner-item {
    display: flex;
    align-items: center;
    width: 100%;
    height: 1.18rem;
    padding: .19rem .13rem;
    overflow: hidden;
    font-size: .2rem;
    font-weight: 700;
    line-height: normal;
    color: #fff;
    border-bottom: 1px solid #025483;
    margin-bottom: .15rem;
}

    .winner-board-content .winner-item:first-child {
        margin-top: .15rem;
        border-top: 1px solid #025483;
    }

    .winner-board-content .winner-item .winner-icon {
        flex-shrink: 0;
        width: .78rem;
        height: .78rem;
        margin-right: .2rem;
        background: url(../images/winner-icon.png) no-repeat;
    }

#winnerSection .slick-vertical .slick-slide {
    display: flex !important;
    border-bottom: 1px solid #025483 !important;
    border-top: 1px solid #025483 !important;
}

.color-accent {
    color: #FF0;
}
/*  
    ===========================
    =         Winner          =
    ===========================
*/
/*  
    ===========================
    =         Partner         =
    ===========================
*/
.partner-title {
    width: 100%;
    text-align: center;
    display: grid;
}

    .partner-title span {
        color: #9edbfa;
        font-size: .29rem;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
        text-transform: uppercase;
    }

.partner-container {
    margin-top: .3rem;
}

    .partner-container p {
        font-size: .26rem;
        text-align: justify;
    }

.partner-grid {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    margin: 0px auto;
}

    .partner-grid .grid-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        border-right: 1px solid rgb(238, 238, 238);
        border-top: 1px solid rgb(238, 238, 238);
    }

        .partner-grid .grid-item:nth-child(-n+2) {
            border-top: 0px none;
        }

        .partner-grid .grid-item:nth-child(2n) {
            border-right: 0px none;
        }

        .partner-grid .grid-item img {
            width: 0.51rem;
            height: auto;
            padding-top: 0.15rem;
        }

        .partner-grid .grid-item .digt {
            color: rgb(51, 51, 51);
            font-size: 0.3rem;
            font-weight: bold;
        }

        .partner-grid .grid-item .dest {
            color: rgb(102, 102, 102);
            font-size: 0.26rem;
            padding-bottom: 0.48rem;
        }

.partner-brand {
    display: grid;
    gap: .15rem;
    background: #c2e2f4;
    padding: .15rem;
    border-radius: 2px;
}

    .partner-brand .partner-row {
        display: grid;
        padding: 0 0 .15rem 0;
    }
/*  
    ===========================
    =         Partner         =
    ===========================
*/
/*  
    ===========================
    =     Footer Section      =
    ===========================
*/
#Footer .footer-header {
    display: flex;
    justify-content: space-between;
    padding-bottom: 20px;
    border-bottom: 2px solid #CFCFCF;
}

    #Footer .footer-header .footer-item {
        height: .55rem;
        width: .55rem;
    }

        #Footer .footer-header .footer-item img {
            vertical-align: top;
            cursor: pointer;
        }

#Footer .footer-image {
    width: 100%;
    text-align: center;
    display: grid;
    margin: .3rem auto;
}

    #Footer .footer-image span {
        color: #1B9EDF;
        font-size: .29rem;
        font-style: normal;
        font-weight: 900;
        line-height: normal;
    }

    #Footer .footer-image img {
        margin: .3rem auto;
    }
/*  
    ===========================
    =     Footer Section      =
    ===========================
*/
/*  
    ===========================
    =      Content List       =
    ===========================
*/

.container-detail {
    width: 90%;
    margin: .15rem auto;
}

#page-detail .nav-tabs {
    gap: .15rem;
    margin: .15rem 0;
    border-bottom: none;
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: none;
    flex-wrap: initial;
    height: .6rem;
}

    #page-detail .nav-tabs li {
        display: flex;
        min-width: max-content;
        height: .5rem;
    }

    #page-detail .nav-tabs .nav-link {
        border-radius: 16.344px;
        border: 0.86px solid #B2B2B2;
        background: linear-gradient(0deg, #C7C7C7 0%, #FFF 100%);
        box-shadow: 0 3.441px 3.441px 0 rgba(32, 126, 173, 0.15);
        padding: .075rem .15rem;
    }

        #page-detail .nav-tabs .nav-link.active {
            border: 0.86px solid #39A0DA;
            background: linear-gradient(0deg, #B4E6FF 0%, #FFF 100%);
        }

    #page-detail .nav-tabs button {
        width: 100%;
        color: #B2B2B2;
        font-size: .27rem;
        font-style: normal;
        font-weight: 700;
        line-height: normal;
    }

        #page-detail .nav-tabs button.active {
            color: #39A0DA;
        }

#page-detail .tab-content {
    margin-bottom: .3rem;
}

    #page-detail .tab-content .tab-pane-item {
        border-radius: .15rem;
        background: #39A0DA;
        margin-bottom: .3rem;
    }

        #page-detail .tab-content .tab-pane-item .item-button {
            display: flex;
            justify-content: center;
            gap: .3rem;    
            margin: .15rem 0;
        }

            #page-detail .tab-content .tab-pane-item .item-button button {
                color: #FFF;
                font-size: .25rem;
                font-style: normal;
                font-weight: 700;
                line-height: normal;
                border: 1px solid #FFF;
                border-radius: 25px;
                background: none;
                display: flex;
                min-height: max-content;
                justify-content: center;
                padding: .075rem .15rem;
                margin-bottom: .15rem;
            }

                #page-detail .tab-content .tab-pane-item .item-button button svg {
                    width: .3rem;
                    height: .3rem;
                    margin-left: .15rem;
                }

        #page-detail .tab-content .tab-pane-item img {
            border-radius: .15rem;
        }

        #page-detail .tab-content .tab-pane-item span {
            color: #FFF;
            font-size: .235rem;
            font-style: normal;
            font-weight: 700;
            line-height: normal;
            display: grid;
            margin: .15rem;
        }

        #page-detail .tab-content .tab-pane-item .item-title {
            display: flex;
            justify-content: space-between;
        }

            #page-detail .tab-content .tab-pane-item .item-title .btn-more {
                background: #FFF;
                color: #1B9EDF;
                margin: auto .15rem;
            }
/*  
    ===========================
    =      Content List       =
    ===========================
*/
/*  
    ===========================
    =     Content Detail      =
    ===========================
*/
/* Hiệu ứng chuyển trang */
@keyframes active-page {
    0% {
        transform: translateX(100%);
    }

    100% {
        transform: translateX(0);
    }
}

.page-transition {
    max-width: var(--body-max-width);
    background: var(--skin-body-color);
    transform: translateX(100%);
}

    /*.page-transition.active {*/
    /*    animation: active-page 1s ease forwards;*/
    /*}*/
/* Hiệu ứng chuyển trang */
.content *{
    text-wrap-mode: wrap !important;
}
.content-detail {
    width: 90%;
    /*min-height: calc(97.9vh - var(--header-height));*/
    margin: .3rem auto 0 auto;
    background: #FFF;
}

    .content-detail .content-tab {
        width: 100%;
        display: none;
    }

        .content-detail .content-tab.active {
            display: grid;
        }

        .content-detail .content-tab .content-img {
            margin-bottom: .3rem;
        }

            .content-detail .content-tab .content-img img, video {
                border-radius: .15rem;
            }

        .content-detail .content-tab .content-title {
            width: 100%;
            color: #39A0DA;
            text-align: center;
            font-size: .3rem;
            font-style: normal;
            font-weight: 900;
            line-height: normal;
            text-transform: uppercase;
            margin-bottom: .3rem;
            border-width: 0rem .045rem;
            border-top-style: inherit;
            border-bottom-style: inherit;
            border-right-style: solid;
            border-left-style: solid;
            border-radius: .2rem;
            padding: .2rem;
        }

        .content-detail .content-tab .content {
            color: #000;
            font-size: .25rem;
            font-style: normal;
            font-weight: normal;
            line-height: normal;
            text-align: justify;
            border-width: 0rem .045rem;
            border-top-style: inherit;
            border-bottom-style: inherit;
            border-right-style: solid;
            border-left-style: solid;
            border-radius: .2rem;
            border-color: #39A0DA;
            padding: .2rem;
            margin-bottom: .6rem;
        }

            .content-detail .content-tab .content .company-name {
                height: .3rem;
                width: auto;
            }

            .content-detail .content-tab .content .text-indent {
                text-indent: .6rem;
            }
/*  
    ===========================
    =      Content Detail     =
    ===========================
*/
/*  
    ===========================
    =      Modal Menu         =
    ===========================
*/
.modal-dialog {
    max-width: 100%;
    margin: var(--header-height) auto;
}

.modal-content {
    border: none;
    border-radius: initial;
    width: 70%;
    position: absolute;
    right: 0;
    top: 0;
    height: calc(100vh - var(--header-height));
    background: #389FDA;
}

    .modal-content .modal-body {
        padding: .3rem;
    }

        .modal-content .modal-body .modal-image {
            width: 60%;
            margin: auto auto;
        }

        .modal-content .modal-body ul {
            list-style: none;
            height: .9rem;
            padding-left: .3rem;
            padding-bottom: .3rem;
            margin-top: .3rem;
        }

            .modal-content .modal-body ul li {
                margin-top: .3rem;
            }

                .modal-content .modal-body ul li a {
                    display: flex;
                    text-decoration: none;
                }

                    .modal-content .modal-body ul li a img {
                        width: .6rem;
                        height: .6rem;
                    }

                    .modal-content .modal-body ul li a span {
                        color: #FFF;
                        font-size: .35rem;
                        font-style: normal;
                        font-weight: 500;
                        line-height: normal;
                        margin: .15rem;
                    }
/*  
    ===========================
    =      Modal Menu         =
    ===========================
*/





/* =====================================
   NEWS SECTION — "See more" Button (compact & responsive)
   ===================================== */

/* Basic See More Button */
.btn-more-news {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;               /* space between text and icon */
  background-color: #1B9EDF;  /* main button color */
  color: #ffffff;             /* text/icon color */
  border: none;
 border-radius: 20px;     /* rounded corners */
  font-size: 10px;            /* text size */
  font-weight: 600;
 padding: px 10px;        /* vertical + horizontal padding */
  width: auto;                /* adjusts to content */
  cursor: pointer;
  transition: background 0.3s ease;
}

/* Text span inside button */
.news-container .btn-more-news span {
  display: inline-block;
  letter-spacing: .3px;
}

/* Icon styling */
.news-container .btn-more-news svg {
  width: 9px;                        /* ↓ was 10px */
  height: 9px;
  fill: currentColor;
  transition: transform .25s ease;
}

/* Hover/active/focus states */
.news-container .btn-more-news:hover {
  transform: translateX(2px);
  box-shadow: 0 4px 10px rgba(27, 158, 223, 0.25);
  background: linear-gradient(90deg, #0f7bcc 0%, #2aa0ff 100%);
}
.news-container .btn-more-news:hover svg { transform: translateX(2px); }

.news-container .btn-more-news:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(27, 158, 223, 0.18);
}

.news-container .btn-more-news:focus-visible {
  outline: 2px solid #1B9EDF;
  outline-offset: 3px;
}

/* ---------- Responsive Styles ---------- */
@media (max-width: 420px) {
  .news-container .btn-more-news {
    font-size: 0.20rem;              /* ↓ was 0.22rem */
    padding: 3px 9px;                /* smaller on phones */
    gap: 4px;
    min-height: 30px;                /* compact but tappable */
  }
  .news-container .btn-more-news svg {
    width: 7px;                      /* ↓ was 8px */
    height: 7px;
  }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  .news-container .btn-more-news {
    transition: none;
  }
  .news-container .btn-more-news:hover,
  .news-container .btn-more-news:active {
    transform: none;
    box-shadow: none;
  }
}