/*

TemplateMo 581 Kind Heart Charity

https://templatemo.com/tm-581-kind-heart-charity

*/

@font-face {
    font-family: 'Century Gothic';
    src: url('../fonts/Century Gothic/Century Gothic-Regular.ttf') format('ttf'),
        url('../fonts/Century Gothic/Century Gothic-Regular.ttf') format('ttf');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Century Gothic';
    src: url('../fonts/Century Gothic/Century Gothic-Medium.ttf') format('ttf'),
        url('../fonts/Century Gothic/Century Gothic-Medium.ttf') format('ttf');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Century Gothic';
    src: url('../fonts/Century Gothic/Century Gothic-SemiBold.ttf') format('ttf'),
        url('../fonts/Century Gothic/Century Gothic-SemiBold.ttf') format('ttf');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Century Gothic';
    src: url('../fonts/Century Gothic/Century Gothic-Bold.ttf') format('ttf'),
        url('../fonts/Century Gothic/Century Gothic-Bold.ttf') format('ttf');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

/*---------------------------------------
  CUSTOM PROPERTIES ( VARIABLES )             
-----------------------------------------*/
:root {
  --white-color:                  #ffffff;
  --primary-color:                #2E3192;
  --secondary-color:              #000000;
  --section-bg-color:             #dfdede;
  --site-footer-bg-color:         #777;
  --custom-btn-bg-color:          #000000;
  --custom-btn-bg-hover-color:    #2E3192;
  --dark-color:                   #000000;
  --p-color:                      #000000;
  --border-color:                 #777;

  --body-font-family:             'Poppins', sans-serif;

  --h1-font-size:                 52px;
  --h2-font-size:                 46px;
  --h3-font-size:                 32px;
  --h4-font-size:                 28px;
  --h5-font-size:                 24px;
  --h6-font-size:                 20px;
  --p-font-size:                  16px;
  --btn-font-size:                18px;
  --copyright-font-size:          14px;

  --border-radius-large:          50px;
  --border-radius-medium:         20px;
  --border-radius-small:          10px;

  --font-weight-light:            300;
  --font-weight-normal:           400;
  --font-weight-semibold:         600;
  --font-weight-bold:             700;
}

body {
  background-color: var(--white-color);
  font-family: var(--body-font-family); 
  
}
 

/*---------------------------------------
  TYPOGRAPHY               
-----------------------------------------*/

h3,
h4,
h5,
h6 {
  color: var(--dark-color);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: var(--font-weight-semibold);
  letter-spacing: -1px;
}

h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--font-weight-bold);
  letter-spacing: -2px;
}

h2 {
  font-size: var(--h2-font-size);
  letter-spacing: -2px;  
    /*color: var(--secondary-color);
  background: linear-gradient(red, blue);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent; */
}



h3 {
  font-size: var(--h3-font-size);
}

h4 {
  font-size: var(--h4-font-size);
}

h5 {
  color: var(--primary-color);
  font-size: var(--h5-font-size);
}

h6 {
  color: var(--primary-color);
  font-size: var(--h6-font-size);
  font-weight: var(--font-weight-bold);
}

p {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-light);
}

ul li {
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-normal);
}

a, 
button {
  touch-action: manipulation;
  transition: all 0.3s;
}

a {
  color: var(--p-color);
  text-decoration: none;
}

a:hover {
  color: var(--primary-color);
}

b,
strong {
  font-weight: var(--font-weight-bold);
}


/*---------------------------------------
  SECTION               
-----------------------------------------*/
.section-padding {
  padding-top: 100px;
  padding-bottom: 100px;
}

.section-bg {
  background-color: var(--section-bg-color);
}

.section-overlay {
  background: rgba(0, 0, 0, 0.35);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.section-overlay + .container {
  position: relative;
}


/*---------------------------------------
  CUSTOM BLOCK               
-----------------------------------------*/
.custom-block-wrap {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  position: relative;
  overflow: hidden;
  transition: all 0.5s;
}

.custom-block-wrap:hover {
  box-shadow: 0 1rem 3rem rgba(0,0,0,.175);
}

.custom-block-body {
  padding: 30px;
}

.custom-block-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.custom-block .custom-btn {
  border-radius: 10;
  display: block;
}


/*---------------------------------------
  PROGRESS BAR               
-----------------------------------------*/
.progress {
  background: var(--border-color);
  height: 2px;
}

.progress-bar {
  background: var(--primary-color);
}


/*---------------------------------------
  CUSTOM ICON COLOR               
-----------------------------------------*/
.custom-icon {
  color: var(--secondary-color);
}


/*---------------------------------------
  CUSTOM LIST               
-----------------------------------------*/
.custom-list {
  margin-bottom: 0;
  padding-left: 0;
}

.custom-list-item {
  list-style: none;
  margin-top: 10px;
  margin-bottom: 10px;
}


/*---------------------------------------
  CUSTOM TEXT BOX               
-----------------------------------------*/
.custom-text-box {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  margin-bottom: 24px;
  padding: 40px;
}

.venueBox {
  padding: 30px;
  background-color:#f3ca3d;
  color: #2E3192;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.3); /* Adds a subtle shadow effect */
}

a.one:link {color:#2E3192;text-decoration:none;}
a.one:visited {color:#2E3192;text-decoration:none;}
a.one:hover {text-decoration:underline;}

a.one2:link {color:#000000;text-decoration:none;}
a.one2:visited {color:#000000;text-decoration:none;}
a.one2:hover {text-decoration:underline;}



.custom-text-box-image {
  border-radius: var(--border-radius-medium);
  width: 50%;
  height: 50%;
  object-fit: cover;
}

.custom-text-box-image:hover {
  box-shadow: 0 0 5px 2px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease;
  transform: scale(1.03); /* Slightly enlarges the content on hover */
}

.custom-text-box-icon {
  background: var(--section-bg-color);
  border-radius: var(--border-radius-large);
  color: var(--secondary-color);
  font-size: var(--h6-font-size);
  text-align: center;
  display: inline-block;
  vertical-align: middle;
  width: 25px;
  height: 25px;
  line-height: 30px;
}


/*---------------------------------------
  AVATAR IMAGE - TESTIMONIAL, AUTHOR               
-----------------------------------------*/
.avatar-image {
  border-radius: var(--border-radius-large);
  width: 65px;
  height: 65px;
  object-fit: cover;
}


/*---------------------------------------
  CUSTOM BUTTON               
-----------------------------------------*/
.custom-btn {
  background: var(--secondary-color);
  border: 2px solid transparent;
  border-radius: var(--border-radius-small);
  color: var(--white-color);
  font-size: var(--btn-font-size);
  font-weight: var(--font-weight-normal);
  line-height: normal;
  padding: 10px 12px;
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn {
  color: var(--custom-btn-bg-color);
  margin-top: 8px;
  padding: 10px 20px;
}

.custom-btn:hover {
  background: var(--primary-color); /*background-color: #7375a3;*/
  color: var(--white-color);
}

.custom-border-btn {
  background: transparent;
  border: 2px solid var(--custom-btn-bg-color);
  color: var(--primary-color);
}

.navbar-expand-lg .navbar-nav .nav-link.custom-btn:hover,
.custom-border-btn:hover {
  background: var(--custom-btn-bg-hover-color);
  border-color: transparent;
  color: var(--white-color);
}


/*---------------------------------------
  NAVIGATION              
-----------------------------------------*/
.navbar {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff !important;
  z-index: 1030; /* higher z-index to stay on top */
  box-shadow: 0 2px 5px rgba(0,0,0,0.1); /* seperti portal rasmi */
}

.navbar-brand {
  color: var(--primary-color);
  font-size: var(--h6-font-size);
  font-weight: var(--font-weight-bold);
}

.navbar-brand span {
  display: inline-block;
  vertical-align: middle;
}

.navbar-brand small {
  color: var(--secondary-color);
  display: block;
  font-size: 10px;
  line-height: normal;
  text-transform: uppercase;
}

.logo {
  width: 1000px;
  height: auto;
}

.navbar-expand-lg .navbar-nav .nav-link {
  margin-right: 0;
  margin-left: 0;
  padding: 13px;
}

.navbar-nav {
    display: flex;
    align-items: center; /* Pastikan semua item dalam baris */
    gap: 5px; /* Berikan sedikit jarak antara item */
}

.nav-item {
    display: flex;
    align-items: center;
    white-space: nowrap; /* Pastikan teks tidak turun ke bawah */
}

.nav-item2 {
    display: flex;
    align-items: center;
    white-space: nowrap; /* Pastikan teks tidak turun ke bawah */
}

.navbar-nav .nav-link {
  display: inline-block;
  color: var(--p-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-medium);
  position: relative;
  padding-top: 15px;
  padding-bottom: 15px;
}

.navbar-nav .nav-link.active, 
.navbar-nav .nav-link:hover {
  background: var(--custom-btn-bg-hover-color);
  color: var(--white-color);
  border-radius: var(--border-radius-small);
  padding: 15px 16px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
  /*background: transparent;
  color: var(--primary-color);*/
}

/* Hide all dropdowns initially */
.dropdown-menu {
    display: none;
}

/* Show main dropdown when hovering over "RESOURCES" */
.nav-item.dropdown:hover > .dropdown-menu {
    display: block;
}


/* Submenu (ASEAN Statements) should NOT appear when hovering "RESOURCES" */
.submenu {
    display: none;
    position: absolute;
    left: 100%; /* Positions submenu to the right */
    top: 0;
    min-width: 200px;
    margin-left: 5px;
}

/* Show submenu only when hovering over "ASEAN Statements" */
.dropdown-submenu:hover > .submenu {
    display: block;
}

/* Style the dropdown arrow */
.dropdown-toggle::after {
  content: "\f285";
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-size: var(--copyright-font-size);
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  position: relative;
  left: 2px;
  border: 0;
}

/* Style the dropdown arrow */
.dropdown-toggle2::after {
  content: "\f285";
  display: inline-block;
  font-family: bootstrap-icons !important;
  font-size: var(--copyright-font-size);
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  vertical-align: -.125em;
  position: relative;
  left: 2px;
  border: 0;
}

/* Style active & hover states */
.dropdown-item.active, 
.dropdown-item:active,
.dropdown-item:focus, 
.dropdown-item:hover {
  background-color: rgba(0, 0, 0, 0.1); /* Light grey transparent background */
  color: var(--primary-color); /* Keep the text color */
  border-radius: 2px; /* Slightly rounded corners for better UI */
}


@media screen and (min-width: 992px) {
  .dropdown:hover .dropdown-menu {
    display: block;
    margin-top: 0;
  }
}

.navbar-toggler {
  border: 0;
  padding: 0;
  cursor: pointer;
  margin: 0;
  width: 30px;
  height: 35px;
  outline: none;
}

.navbar-toggler:focus {
  outline: none;
  box-shadow: none;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon {
  background: transparent;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transition: top 300ms 50ms ease, -webkit-transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  transition: top 300ms 50ms ease, transform 300ms 350ms ease, -webkit-transform 300ms 350ms ease;
  top: 0;
}

/*.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before,
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transition: top 300ms 50ms ease, transform 300ms 350ms ease;
  top: 0;
}*/

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
  transform: rotate(45deg);
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
  transform: rotate(-45deg);
}

.navbar-toggler .navbar-toggler-icon {
  background: var(--dark-color);
  transition: background 10ms 300ms ease;
  display: block;
  width: 30px;
  height: 2px;
  position: relative;
}

.navbar-toggler .navbar-toggler-icon:before,
.navbar-toggler .navbar-toggler-icon:after {
  transition: top 300ms 350ms ease, -webkit-transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  transition: top 300ms 350ms ease, transform 300ms 50ms ease, -webkit-transform 300ms 50ms ease;
  position: absolute;
  right: 0;
  left: 0;
  background: var(--dark-color);
  width: 30px;
  height: 2px;
  content: '';
}

/*.navbar-toggler .navbar-toggler-icon:before,
.navbar-toggler .navbar-toggler-icon:after {
  transition: top 300ms 350ms ease, transform 300ms 50ms ease;
  position: absolute;
  right: 0;
  left: 0;
  background: var(--dark-color);
  width: 30px;
  height: 2px;
  content: '';
}*/

.navbar-toggler .navbar-toggler-icon::before {
  top: -8px;
}

.navbar-toggler .navbar-toggler-icon::after {
  top: 8px;
}

/* Gaya ini hanya akan diguna pakai untuk skrin besar (lebar 992px dan ke atas) */
@media (min-width: 992px) {
    .navbar-collapse {
        display: flex !important;
        flex-direction: row;
        justify-content: flex-end;
    }
}


/*#closeMenu {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 20px;
    background: none;
    border: none;
    cursor: pointer;
    display: none;  Default: sembunyikan 
}

        #closeMenu {
            position: absolute;
            top: 10px;
            right: 10px;
            z-index: 1000; /* Ensure it's above other elements 
        }*/



/*---------------------------------------
  SITE HEADER              
-----------------------------------------*/
.site-header {
  background: var(--primary-color);
  padding-top: 5px;
  padding-bottom: 10px;
}

.site-header p,
.site-header p a,
.site-header .social-icon-link {
  color: var(--white-color);
  font-size: var(--h6-font-size);
}

.site-header .social-icon {
  text-align: right;
}

.site-header .social-icon-link {
  background: transparent;
  width: inherit;
  height: inherit;
  line-height: inherit;
  margin-right: 20px;
}


/*---------------------------------------
  HERO & HERO SLIDE         
-----------------------------------------*/
.hero-section-full-height {
  width: 100%;
  /* BAHAGIAN DIUBAHSUAI: Menggunakan calc() untuk menolak ketinggian navbar */
  /* Anggaran ketinggian navbar anda ialah 80px, sila ubah jika perlu */
  height: calc(100vh - 80px); 
  position: relative;
  /* BAHAGIAN DITAMBAH: Memastikan slider bermula di bawah navbar */
  margin-top: 100px; 
}

.carousel:hover .carousel-control-next-icon, 
.carousel:hover .carousel-control-prev-icon {
  opacity: 1;
}

#hero-slide .carousel-item {
  width: 100%;
  height: 100%;

}

#hero-slide .carousel-caption {
  background: var(--white-color);
  clip-path: polygon(100% 100%, 100% 150px, 0 100%);
  color: var(--white-color);
  top: 1px;
  bottom: -1px;
  right: 0;
  left: auto;
  text-align: right;
  width: 100%;
  height: 100%;
  padding: 100px 100px 50px 100px;
}

.carousel-image {
  width: 100%;
  /* BAHAGIAN DIUBAHSUAI: Menyelaraskan ketinggian dan object-fit */
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#hero-slide .carousel-indicators-wrap {
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
}

#hero-slide .carousel-indicators {
  margin-right: 0;
  margin-left: 22px;
  justify-content: inherit;
}

.carousel-control-next, 
.carousel-control-prev {
  opacity: 1;
}

.carousel-control-next-icon, 
.carousel-control-prev-icon {
  cursor: pointer;
  position: absolute;
  background-color: var(--secondary-color);
  border-radius: var(--border-radius-large);
  background-size: 30% 30%;
  width: 40px;
  height: 40px;
  opacity: 0;
  transition: all 0.5s;
}

.carousel-control-next-icon:hover, 
.carousel-control-prev-icon:hover {
  background-color: var(--primary-color);
}

/*---------------------------------------
  RESPONSIVE VIEWS (DIBAWAH 992px) - TABLET
-----------------------------------------*/
@media (max-width: 991px) {
  .news-detail-header-section-3 {
    /* Mengurangkan ketinggian slider pada skrin tablet */
    height: 60vh; 
    /* Laraskan margin-top mengikut ketinggian navbar anda pada saiz ini */
    margin-top: 70px; 
  }

  /* Membuang caption yang kompleks pada paparan tablet & mudah alih */
  #hero-slide .carousel-caption {
    display: none;
  }
}

/*---------------------------------------
  MOBILE VIEW (DIBAWAH 480px)
-----------------------------------------*/
@media (max-width: 480px) {
  .news-detail-header-section-3 {
    height: 50vh; 
  }

  /* Mengecilkan butang kawalan slider */
  .carousel-control-next-icon, 
  .carousel-control-prev-icon {
    width: 35px;
    height: 35px;
  }
}

/*---------------------------------------
  SMALLER MOBILE VIEW (DIBAWAH 430px)
-----------------------------------------*/
@media (max-width: 430px) {
  .news-detail-header-section-3 {
    height: 45vh; 
  }
}

/*---------------------------------------
  SMALLEST MOBILE VIEW (DIBAWAH 375px)
-----------------------------------------*/
@media (max-width: 375px) {
  .news-detail-header-section-3 {
    height: 40vh; 
  }
}


/*---------------------------------------
  FEATURE BLOCK              
-----------------------------------------*/
.featured-block {
  text-align: center;
  transition: all 0.5s ease;
  min-height: 250px;
  padding: 5px;
}

.featured-block:hover {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.175);
}

.featured-block:hover .featured-block-image {
  transform: scale(0.75);
}

.featured-block-image {
  display: block;
  margin: auto;
  transition: all 0.5s;
}

.featured-block:hover .featured-block-text {
  margin-top: 0;
}

.featured-block-text {
  color: var(--primary-color);
  font-size: var(--h6-font-size);
  margin-top: 10px;
  transition: all 0.5s;
}


/*---------------------------------------
  ABOUT              
-----------------------------------------*/
.about-section {
  background-image: url('../images/meeting_bgColour.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  height: 1450px;
  width: auto;
}

@media (max-width: 991px) {

.about-section {
  background-image: url('../images/meeting_bgColour.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  height: 2650px;
  width: auto;
}
}

@media (max-width: 480px) {

.about-section {
  background-image: url('../images/meeting_bgColour.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  height: 2900px;
  width: auto;
}
}


.about-image {
  border-radius: var(--border-radius-medium);
  display: block;
  width: 350px;
  height: 400px;
  object-fit: cover;
}

.custom-text-block {
  padding: 60px 40px;
}


/*---------------------------------------
  COUNTER NUMBERS              
-----------------------------------------*/
.counter-thumb {
  margin: 20px;
  margin-bottom: 0;
}

.counter-number,
.counter-text {
  color: var(--secondary-color);
  display: block;
}

.counter-number,
.counter-number-text {
  color: var(--primary-color);
  font-size: var(--h1-font-size);
  font-weight: var(--font-weight-bold);
  line-height: normal;
}


/*---------------------------------------
  VOLUNTEER              
-----------------------------------------*/
.volunteer-section {
  background-color: #f3ca3d;  /*var(--border-color);*/
  position: relative;
  overflow: hidden;
  }

/*.volunteer-section::after {
  content: "";
  background: var(--primary-color);
  border-radius: 50%;
  position: absolute;
  bottom: -110px;
  right: -80px;
  width: 350px;
  height: 350px;
}*/

.volunteer-form {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  padding: 50px;
}

.volunteer-image {
  border-radius: 100%;
  display: block;
  margin: auto;
  width: 300px;
  height: 300px;
  object-fit: cover;
}

.volunteer-section .custom-block-body {
  max-width: 440px;
  margin: 0 auto;
}

.volunteer-section .custom-block-body p {
  line-height: 1.7;
}


/*---------------------------------------
  DONATE              
-----------------------------------------*/
.donate-section {
  background-image: url('../images/different-people-doing-volunteer-work.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  padding-top: 150px;
  padding-bottom: 150px;
}

.donate-form {
  background: var(--white-color);
  border-radius: var(--border-radius-medium);
  position: relative;
  overflow: hidden;
  padding: 50px;
}


/*---------------------------------------
  NEWS         
-----------------------------------------*/
.news-detail-header-section {
  background-image: url('../images/event/PastEvents_ASCC33.jpg');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  position: relative;
  min-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
  
  margin-top: -70px !important; /* Membuang sebarang ruang luar di bahagian atas */
}

.news-detail-header-section .bottom-text {
    margin-bottom: 0;
}

.news-detail-header-section-2 {
  background-image: url('../images/event/logo_asean-header.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  min-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
  
  margin-top: -70px !important; /* Membuang sebarang ruang luar di bahagian atas */
}

.news-detail-header-section-2 .bottom-text {
    margin-bottom: 0;
}

.news-detail-header-section-3 {
  background-image: url('../images/event/Banner ASCC 34th.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  min-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
  
  margin-top: -70px !important; /* Membuang sebarang ruang luar di bahagian atas */
}

.news-detail-header-section-3 .bottom-text {
    margin-bottom: 0;
}

/* ========================================================== */
/* == PEMBETULAN HEADER HALAMAN DALAMAN (SEMUA SAIZ MUDAH ALIH) == */
/* ========================================================== */

/* --- Asas untuk Tablet & Telefon (di bawah 992px) --- */
@media (max-width: 991px) {
    body {
        padding-top: 85px; 
    }

    .news-detail-header-section,
    .news-detail-header-section-2,
    .news-detail-header-section-3 {
        margin-top: 0 !important;
        min-height: 300px; 
        height: 40vh;
    }

}

/* --- Penyesuaian untuk Telefon Lebih Kecil (di bawah 480px) --- */
@media (max-width: 480px) {
    body {
        padding-top: 70px;
    }

    .news-detail-header-section,
    .news-detail-header-section-2,
    .news-detail-header-section-3 {
        min-height: 250px;
        height: 35vh;
    }
}

/* --- Penyesuaian untuk Telefon Sangat Kecil (di bawah 430px) --- */
@media (max-width: 430px) {
    body {
        padding-top: 65px;
    }
    
    .news-detail-header-section,
    .news-detail-header-section-2,
    .news-detail-header-section-3 {
        min-height: 220px;
        height: 30vh;
    }
}

/* --- Penyesuaian untuk Telefon Paling Kecil (di bawah 375px) --- */
@media (max-width: 375px) {
    body {
        padding-top: 60px;
    }
    
    .news-detail-header-section,
    .news-detail-header-section-2,
    .news-detail-header-section-3 {
        min-height: 200px;
        height: 30vh;
    }
}



.gallery-detail-header-section {
  background-image: url('../images/slide/atf2025_meeting.jpg');
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  position: relative;
  padding-top: 230px;
  padding-bottom: 230px;
}

.news-block-top {
  border-radius: var(--border-radius-medium);
  position: relative;
  overflow: hidden;
}

.news-block-two-col-image-wrap {
  border-radius: var(--border-radius-small);
  position: relative;
  overflow: hidden;
  width: 150px;
  height: 85px;
  margin-right: 20px;
}

.news-category-block {
  background: var(--primary-color);
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  padding: 10px 20px;
}

.news-category-block .category-block-link {
  color: var(--white-color);
  margin-right: 10px;
}

.news-block-info {
  padding-top: 10px;
  padding-bottom: 10px;
}

.news-block-title-link {
  color: var(--dark-color);
}

.news-detail-image {
  display: block;
  border-radius: var(--border-radius-medium);
}

/* ======================================================= */
/* == PEMBETULAN GAMBAR BERTINDIH (SEMUA SAIZ MUDAH ALIH) == */
/* ======================================================= */

/* --- Untuk Tablet dan Telefon (Skrin di bawah 992px) --- */
@media (max-width: 991px) {
    .news-block {
        /* Menambah jarak bawah yang standard untuk peranti mudah alih */
        margin-bottom: 30px; 
    }
}

/* --- Penyesuaian Khas untuk Telefon Lebih Kecil (Skrin di bawah 480px) --- */
@media (max-width: 480px) {
    .news-block {
        /* Kita boleh kurangkan sedikit jarak untuk skrin yang lebih kecil */
        margin-bottom: 25px; 
    }
}

/* --- Penyesuaian Khas untuk Telefon Sangat Kecil (Skrin di bawah 430px) --- */
@media (max-width: 430px) {
    .news-block {
        /* Kurangkan lagi jarak jika perlu untuk skrin yang sangat sempit */
        margin-bottom: 20px; 
    }
}


blockquote {
  background: var(--section-bg-color);
  border-radius: var(--border-radius-small);
  font-size: var(--h5-font-size);
  font-weight: var(--font-weight-semibold);
  color: var(--site-footer-bg-color);
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 90px 50px 50px 50px;
  text-align: center;
}

blockquote::before {
  content: " ";
  color: var(--custom-btn-bg-color);
  font-size: 100px;
  line-height: 1rem;
  display: block;
}

.author-comment-link {
  font-size: var(--copyright-font-size);
  font-weight: var(--font-weight-semibold);
}

.search-form {
  margin-top: 20px;
}

.category-block,
.subscribe-form {
  margin-top: 40px;
  margin-bottom: 40px;
}

.category-block-link {
  font-size: var(--copyright-font-size);
  margin-top: 5px;
  margin-bottom: 5px;
}

.category-block-link:hover {
  color: var(--primary-color);
}

.badge {
  background: var(--secondary-color);
  border-radius: var(--border-radius-medium);
  font-weight: var(--font-weight-normal);
  line-height: normal;
  padding-bottom: 2px;
}

.tags-block-link {
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-medium);
  display: inline-block;
  font-size: var(--copyright-font-size);
  line-height: normal;
  margin-right: 10px;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 8px 15px;
}

.tags-block-link:hover {
  border-color: var(--dark-color);
  color: var(--dark-color);
}

.cta-section {
  position: relative;
  overflow: hidden;
}

.cta-section::before {
  content: "";
  background-color: var(--primary-color);
  border-radius: 50%;
  position: absolute;
  top: -100px;
  left: -30px;
  margin: auto;
  width: 200px;
  height: 200px;
}

.cta-section::after {
  content: "";
  border: 20px solid var(--custom-btn-bg-color);
  border-radius: 50%;
  position: absolute;
  bottom: -100px;
  right: 0;
  left: 0;
  margin: auto;
  width: 150px;
  height: 150px;
}


/*---------------------------------------
  TESTIMONIAL CAROUSEL              
-----------------------------------------*/
.testimonial-section {
  position: relative;
  overflow: hidden;
  text-align: center;
}

.testimonial-section::before {
  content: "";
  background-color: var(--primary-color);
  border-radius: 50%;
  position: absolute;
  top: -100px;
  left: -30px;
  margin: auto;
  width: 250px;
  height: 250px;
}

.testimonial-section::after {
  content: "";
  background: var(--custom-btn-bg-color);
  border-radius: 50%;
  position: absolute;
  bottom: -110px;
  right: -80px;
  width: 350px;
  height: 350px;
}

#testimonial-carousel .carousel-caption {
  position: relative;
  right: 0;
  bottom: 0;
  left: 0;
}

#testimonial-carousel .carousel-title {
  background: var(--section-bg-color);
  line-height: normal;
  margin-bottom: 30px;
}

#testimonial-carousel .carousel-title::before {
  content: open-quote;
  color: var(--p-color);
  font-size: var(--h1-font-size);
  position: relative;
  top: 10px;
  right: 10px;
}

#testimonial-carousel .carousel-title::after {
  content: close-quote;
  color: var(--p-color);
  font-size: var(--h1-font-size);
  position: relative;
  top: 10px;
  left: 10px;
}

#testimonial-carousel .carousel-title {
  quotes: " " " " " " " ";
}

#testimonial-carousel .carousel-name {
  background: var(--primary-color);
  border-radius: var(--border-radius-medium);
  position: relative;
  overflow: hidden;
  padding: 10px 20px;
}

#testimonial-carousel .carousel-name::before {
  content: "";
  position: absolute;
  top: -10px;
  right: 0;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid var(--primary-color);
}

.carousel-name-title {
  font-weight: var(--font-weight-semibold);
}

#testimonial-carousel .carousel-indicators {
  position: relative;
  top: 150px;
  bottom: auto;
  margin-top: 50px;
  margin-bottom: 150px;
}

#testimonial-carousel .carousel-indicators li {
  text-indent: inherit;
  background: transparent;
  margin: 0 10px; 
}

#testimonial-carousel .carousel-indicators li,
#testimonial-carousel .carousel-indicators li::before {
  width: 45px;
  height: 45px; 
}

#testimonial-carousel .carousel-indicators .avatar-image {
  width: 45px;
  height: 45px; 
}

#testimonial-carousel .carousel-indicators .active,
#testimonial-carousel .carousel-indicators .active .avatar-image {
  background: transparent;
  width: 50px; 
  height: 50px;
}


/*---------------------------------------
  CONTACT               
-----------------------------------------*/
.contact-section {
  background: var(--white-color);
}

.contact-form {
  background: var(--section-bg-color);
  border-radius: var(--border-radius-small);
  padding: 40px;
}

.contact-info-wrap {
  padding-top: 40px;
}

.contact-image-wrap {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  margin-top: 20px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  width: 100%;
}


/*---------------------------------------
  CUSTOM FORM               
-----------------------------------------*/
.custom-form .form-control,
.input-group-file {
  background-color: var(--section-bg-color);
  box-shadow: none;
  border: 0;
  color: var(--p-color);
  margin-bottom: 24px;
  padding-top: 13px;
  padding-bottom: 13px;
  outline: none;
}

.custom-form .form-control:hover,
.custom-form .form-control:focus {
  border-color: var(--secondary-color);
}

.custom-form label {
  margin-bottom: 10px;
}

.custom-form .form-check-group {
  margin-bottom: 20px;
}

.donate-form .form-check-group-donation-frequency {
  padding-right: 0;
}

.form-check-group-donation-frequency + .form-check-group-donation-frequency {
  padding-right: 12px;
  padding-left: 0;
}

.form-check-group-donation-frequency .form-check-label {
  font-weight: var(--font-weight-semibold);
}

#DonationFrequencyOne {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#DonationFrequencyMonthly {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.custom-form .form-check-radio {
  position: relative;
  height: 100%;
  padding-left: 0;
}

.custom-form .input-group-text {
  background: var(--secondary-color);
  border: 0;
  color: var(--white-color);
}

.custom-form .form-check-radio .form-check-label {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.form-check-radio .form-check-input[type=radio] {
  background-color: var(--section-bg-color);
  border-radius: .25rem;
  border: 0;
  box-shadow: none;
  outline: none;
  width: 100%;
  margin-top: 0;
  margin-left: 0;
  padding: 25px 50px;
  transition: all 0.5s;
}

.form-check-radio .form-check-input:checked[type=radio] {
  background-image: none;
}

.form-check-radio .form-check-input:checked[type=radio] + .form-check-label,
.form-check-radio .form-check-input:hover + .form-check-label,
.form-check-radio .form-check-input:checked + .form-check-label {
  color: var(--white-color);
}

.form-check-radio .form-check-input:hover,
.form-check-radio .form-check-input:checked {
  background-color: var(--secondary-color);
  border-color: var(--white-color);
}

.input-group-file {
  border-radius: .25rem;
  padding: 13px .75rem;
}

.input-group-file input[type=file] {
  width: 0.1px;
  height: 0.1px;
  opacity: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  padding: 0;
}

.input-group-file .input-group-text {
  background: transparent;
  color: inherit;
  margin-bottom: 0;
  padding: 0;
}

.custom-form button[type="submit"] {
  background: var(--custom-btn-bg-color);
  border: none;
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-size: var(--p-font-size);
  font-weight: var(--font-weight-semibold);
  transition: all 0.3s;
  margin-bottom: 0;
}

.custom-form button[type="submit"]:hover,
.custom-form button[type="submit"]:focus {
  background: var(--custom-btn-bg-hover-color);
  border-color: transparent;
}


/*---------------------------------------
  CONTACT SEARCH & DONATE & SUBCRIBE FORM              
-----------------------------------------*/
.contact-form .form-control {
  background: var(--white-color);
}

.search-form {
  position: relative;
}

.search-form .form-control {
  padding-right: 50px;
}

.search-form button[type="submit"] {
  background: transparent;
  position: absolute;
  top: 0;
  right: 0;
  color: var(--p-color);
  width: 50px;
  padding: 12px;
}

.search-form button[type="submit"]:hover {
  background: transparent;
  color: var(--dark-color);
}

.subscribe-form {
  background: var(--section-bg-color);
  border-radius: var(--border-radius-small);
  padding: 30px;
}

.subscribe-form .form-control {
  background: var(--white-color);
}

.donate-form .form-control {
  margin-bottom: 0;
}


/*---------------------------------------
  SITE FOOTER              
-----------------------------------------*/
.site-footer {
  background-color: #7375a3;  /*var(--site-footer-bg-color);*/
  padding-top: 70px;
}

.site-footer-bottom {
    background-color: #243a7b;  /*var(--secondary-color);*/
    position: relative;
    z-index: 2;
    margin-top: 70px;
    padding-top: 15px;
    padding-bottom: 12px;
}

.site-footer-bottom a {
	color: var(--white-color);
}

.site-footer-bottom a:hover {
    color: #7375a3; /*var(--primary-color);*/
    font-weight: var(--font-weight-semibold);
}

.site-footer-link {
  color: var(--white-color);
  font-weight: var(--font-weight-semibold);
}

.copyright-text {
  color: var(--white-color);
  font-size: var(--copyright-font-size);
  margin-right: 30px;
  text-align: center;
}

.site-footer .custom-btn {
  font-size: var(--copyright-font-size);
}

.site-footer .custom-btn:hover {
  background: var(--primary-color);

}


/*---------------------------------------
  FOOTER MENU               
-----------------------------------------*/
.footer-menu {
  column-count: 1;
  margin: 0;
  padding: 0;
}

.footer-menu-item {
  list-style: none;
  display: block;
}

.footer-menu-link {
  font-size: var(--p-font-size);
  color: var(--white-color);
  display: inline-block;
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: 5px;
  font-weight: var(--font-weight-semibold);
}


/*---------------------------------------
  SOCIAL ICON               
-----------------------------------------*/
.social-icon {
  margin: 0;
  padding: 0;
}

.social-icon-item {
  list-style: none;
  display: inline-block;
  vertical-align: top;
}

.social-icon-link {
  background: var(--site-footer-bg-color);
  border-radius: var(--border-radius-large);
  color: var(--white-color);
  font-size: var(--copyright-font-size);
  display: block;
  margin-right: 5px;
  text-align: center;
  width: 35px;
  height: 35px;
  line-height: 35px;
}

.social-icon-link:hover {
  background: var(--primary-color);
  color: var(--white-color);
}


/*---------------------------------------
  RESPONSIVE STYLES               
-----------------------------------------
@media screen and (min-width: 1600px) {
  .featured-block {
    min-height: inherit;
  }

  .volunteer-section::after {
    width: 450px;
    height: 450px;
  }
  
  .volunteer-image {
    width: 350px;
    height: 350px;
  }
}

@media screen and (max-width: 1170px) {
  #hero-slide .carousel-image {
    width: 100%;
    height: auto; 
    object-fit: covermin-height;
  }
}

@media screen and (max-width: 991px) {
  h1 {
    font-size: 42px;
  }

  h2 {
    font-size: 36px;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  h5 {
    font-size: 20px;
  }

  h6 {
    font-size: 18px;
  }
  
  .navbar-brand img {
    width: 170px;
		height: 100px;
  }

  .section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .hero-form {
    padding-bottom: 40px;
  }

  .donate-form {
    padding: 35px;
  }

  .navbar {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .navbar-expand-lg .navbar-nav {
    padding-bottom: 30px;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 20px;
  }
  
  .dropdown:hover .dropdown-menu {
    display: block;
    position: relative;
    margin-top: 5px;
    margin-bottom: 20px;
    left: 20px;
  }

  .site-header .social-icon {
    text-align: left;
    margin-top: 5px;
  }

  .hero-section-full-height {
    height: inherit;
  }

  .carousel:hover .carousel-control-next-icon, 
  .carousel:hover .carousel-control-prev-icon {
    opacity: 1;
  }

  #hero-slide .carousel-item {
    height: inherit;
  }

  .carousel-control-prev {
    left: 12px;
  }

  .carousel-control-next {
    right: 12px;
  }

  .carousel-control-next-icon, 
  .carousel-control-prev-icon {
    opacity: 1;
    width: 60px;
    height: 60px;
  }

  .news-detail-header-section {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .cta-section::before {
    width: 150px;
    height: 150px;
  }

  .cta-section::after {
    bottom: -60px;
    width: 100px;
    height: 100px;
  }

  .cta-section .row {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .volunteer-section::after {
    width: 300px;
    height: 300px;
  }

  .testimonial-section::before {
    width: 150px;
    height: 150px;
  }

  .testimonial-section::after {
    width: 200px;
    height: 200px;
  }

  #testimonial-carousel .carousel-caption {
    padding-top: 0;
  }

  blockquote {
    padding: 70px 30px 30px 30px;
  }

  .about-image {
    width: inherit;
    height: 450px;
  }

  .volunteer-image {
    width: 250px;
    height: 250px;
    margin: 0;
  }

  .custom-text-block {
    padding: 20px 0 0 0;
  }

  .custom-text-box,
  .volunteer-form {
    padding: 30px;
  }

  .counter-number, 
  .counter-number-text {
    font-size: var(--h2-font-size);
  }

  .contact-info-wrap {
    padding-top: 0;
  }

  .site-footer {
    padding-top: 50px;
  }

  .copyright-text-wrap {
    justify-content: center;
  }

  .site-footer-bottom {
    text-align: center;
    margin-top: 50px;
  }

  .site-footer-bottom .footer-menu .site-footer-title {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 580px) {
  .hero-section-full-height,
  #hero-slide .carousel-item,
  .carousel-image {
    min-height: 520px;
  }

  #hero-slide .carousel-caption {
    clip-path: polygon(100% 100%, 100% 100px, 0 100%);
    padding-right: 50px;
    min-width: inherit;
    min-height: inherit;
  }
}

@media screen and (max-width: 480px) {
  h1 {
    font-size: 40px;
  }

  h2 {
    font-size: 28px;
  }

  h3 {
    font-size: 26px;
  }

  h4 {
    font-size: 22px;
  }

  h5 {
    font-size: 20px;
  }

  #hero-slide .carousel-caption {
    min-width: inherit;
    padding-bottom: 30px;
  }
  
  .navbar {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .navbar-expand-lg .navbar-nav {
    padding-bottom: 30px;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 20px;
  }
  
  .carousel-control-next-icon, 
  .carousel-control-prev-icon {
    width: 45px;
    height: 45px;
  }

  .volunteer-image {
    width: 150px;
    height: 150px;
  }

  .volunteer-section::after {
    width: 200px;
    height: 200px;
  }

  .testimonial-section::before {
    top: -50px;
    width: 100px;
    height: 100px;
  }

  .testimonial-section::after {
    bottom: -150px;
    width: 200px;
    height: 200px;
  }

  .social-share .tags-block {
    margin-bottom: 10px;
  }

  .donate-form {
    padding: 25px;
  }
  
}*/

/*---------------------------------------
  RESPONSIVE STYLES               
-----------------------------------------*/
@media screen and (min-width: 1600px) {
  .featured-block {
    min-height: inherit;
  }

  .volunteer-section::after {
    width: 450px;
    height: 450px;
  }
  
  .volunteer-image {
    width: 350px;
    height: 350px;
  }
}

@media screen and (max-width: 1170px) {
  #hero-slide .carousel-image {
    width: 100%;
    height: auto;
    object-fit: covermin-height;
  }
}
/* Media Queries for Responsiveness */
@media screen and (max-width: 991px) {
	
  h1 {
    font-size: 42px;
  }

  h2 {
    font-size: 34px;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  h5 {
    font-size: 20px;
  }

  h6 {
    font-size: 18px;
  }
  
  .navbar-brand img {
    width: 170px;
    height: 100px;
  }
  
  /* ======================================================= */
/* == PEMBETULAN NAVBAR PADA SKRIN SANGAT KECIL == */
/* ======================================================= */

/* Penyesuaian Khas untuk skrin 375px jika masih perlu */
@media (max-width: 375px) {

    .navbar-brand img.logo {
        width: auto; /* Biarkan lebar melaras secara automatik */
        height: 60px; /* Kecilkan lagi saiz logo */
    }

}
	
  .section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .hero-form {
    padding-bottom: 40px;
  }
	
	.navbar {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .navbar-expand-lg .navbar-nav {
    padding-bottom: 30px;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 20px;
  }
	
	.site-header .social-icon .social-icon-item .social-icon-link {
    text-align: left;
    margin-top: 5px;
  }
	
   .social-icon-item img{
    text-align: left;
    margin-top: 5px;
  	width: 26px;
  	height: 26px;
  }

  .hero-section-full-height {
    height: inherit;
  }
	
	#hero-slide .carousel-item {
    height: inherit;
  }
	
  .volunteer-section::after {
    width: 300px;
    height: 300px;
  }
	
   .custom-text-block {
    padding: 20px 0 0 0;
  }

  .custom-text-box,
  .volunteer-form {
    padding: 30px;
  }
	
  .site-footer {
    padding-top: 50px;
  }


  .site-footer-bottom {
    text-align: center;
    margin-top: 50px;
  }

  .site-footer-bottom .footer-menu .site-footer-title {
    margin-top: 10px;
    margin-bottom: 10px;
  }

    .contact-left-dec,
    .contact-right-dec {
        display: none; /* Hide decorative images */
    }

     table, th, td, ul li {
        font-size: 16px;
        padding: 2px;
    }
    
/* ======================================================= */
/* == Tukar Gambar Header pada Mobile Guna CSS Sahaja == */
/* ======================================================= */

    /* 1. Paksa body untuk ada ruang di atas dengan !important */
    body {
        /* Nilai ini sepatutnya cukup untuk semua saiz mobile */
        padding-top: 45px !important; 
    }

    /* Laksanakan hanya pada skrin mudah alih & tablet */
    @media (max-width: 991px) {

    /* 1. Sembunyikan gambar asal dari tag <img> */
    #hero-slide .carousel-item img {
        display: none; /* atau visibility: hidden; */
    }
    
    /* 2. Tetapkan ketinggian untuk bekas carousel */
    #hero-slide .carousel-item {
        height: 60vh; /* Ketinggian yang sesuai untuk mobile */
        min-height: 400px;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }
    
    /* 3. Tetapkan gambar latar belakang yang berbeza untuk setiap slaid */
    #hero-slide .carousel-item:nth-child(1) { /* Slaid Pertama */
        background-image: url('../images/slide/HERO_BANNER_MOBILE.jpg');
    }

    #hero-slide .carousel-item:nth-child(2) { /* Slaid Kedua */
        background-image: url('../images/slide/ASCC 34th_MOBILE.png');
    }

    #hero-slide .carousel-item:nth-child(3) { /* Slaid Ketiga */
        background-image: url('../images/slide/VM_MOBILE.jpg');
    }
}

/* --- Penyesuaian untuk Telefon Lebih Kecil (di bawah 480px) --- */
@media (max-width: 480px) {
    #hero-slide .carousel-item {
        height: 55vh;
        min-height: 350px;
    }
}

/* --- Penyesuaian untuk Telefon Sangat Kecil (di bawah 430px) --- */
@media (max-width: 430px) {
    #hero-slide .carousel-item {
        height: 50vh;
        min-height: 300px;
    }
}

/* --- Penyesuaian untuk Telefon Paling Kecil (di bawah 375px) --- */
@media (max-width: 375px) {
    #hero-slide .carousel-item {
        height: 45vh;
        min-height: 280px;
    }
}
/* --- Penyesuaian Khas untuk Telefon Paling Sempit (di bawah 325px) --- */
@media (max-width: 325px) {
    
    body {
        /* Kurangkan sedikit ruang atas jika perlu */
        padding-top: 75px !important; 
    }
    
        #hero-slide .carousel-item {
        height: 40vh;
        min-height: 250px;
    }
}
    

/* -------------------------------------
Contact Information - Mobile Responsive
----------------------------------------*/
.contactInfo-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
    overflow: hidden;
}

.contactInfo-card {
    width:  95vw; /* Gunakan viewport width supaya penuh */
    max-width: 100%;
    padding: 15px;
    border: 2px solid #003399;
    border-radius: 10px;
    box-sizing: border-box;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 150px;
    background-color: #fff;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Tambah bayang */
    transition: all 0.3s ease-in-out;
}

/* Hover effect supaya lebih interaktif */
.contactInfo-card:hover {
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.15);
}

/* Jarak antara kad */
.contactInfo-card:not(:last-child) {
    margin-bottom: 15px;
}

/* Pastikan teks dalam kotak tidak keluar */
.contactInfo-card h5, 
.contactInfo-card p {
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    text-align: center;
    font-size: 14px;
}

/* -------------------------------------
Gallery Images - Mobile Responsive
----------------------------------------*/

  .event-grid {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .event-container {
    width: 90%;
    height: auto;
  }

  .justify-text {
    width: 100%;
    height: auto;
    padding: 10px;
  }

  .overlay-text {
    font-size: 13px;
  }

  .modal {
    height: 80vh;
  }

  .modal img {
    max-height: 70vh;
  }

}

@media screen and (max-width: 580px) {
    .navbar {
        flex-wrap: wrap;
        padding: 5px;
    }

.hero-section-full-height,
  #hero-slide .carousel-item,
  .carousel-image {
    min-height: 380px;
  }

  #hero-slide .carousel-caption {
    clip-path: polygon(100% 100%, 100% 100px, 0 100%);
    padding-right: 50px;
    min-width: inherit;
    min-height: inherit;
  }

    .contact-left-dec,
    .contact-right-dec,
	  .contact-left-dec-program,
	  .contact-left-dec-venue,
	  .contact-left-dec-register,
	  .contact-right-dec-venue,
	  .contact-right-dec-program {
     
        display: none;
    }
    
  .table2 {
    width: 100%;
    font-size: 14px;
  }
  .table2 th,
  .table2 td {
    padding: 6px;
  }
  .symbol {
    width: 40px;
  }
  
/* -------------------------------------
Gallery Images - Mobile Responsive
----------------------------------------*/

  .event-container {
    width: 95%;
    height: auto;
  }

  .overlay-text {
    font-size: 12px;
  }

  .see-gallery-btn {
    font-size: 13px;
    padding: 6px 12px;
  }

  .modal {
    height: 75vh;
  }

  .modal img {
    max-height: 65vh;
  }

  .close {
    top: 15px;
    right: 15px;
    font-size: 28px;
  }

  .prev, .next {
    font-size: 32px;
  }
  
}

    
@media screen and (max-width: 480px) {

  .hero-section-full-height,
  #hero-slide .carousel-item,
  .carousel-image {
    min-height: 280px;
  }

  #hero-slide .carousel-caption {
    clip-path: polygon(100% 100%, 100% 100px, 0 100%);
    padding-right: 50px;
    min-width: inherit;
    min-height: inherit;
  }

  h1 {
    font-size: 42px;
  }

  h2 {
    font-size: 34px !important;
  }

  h3 {
    font-size: 32px;
  }

  h4 {
    font-size: 28px;
  }

  h5 {
    font-size: 20px;
  }

  h6 {
    font-size: 18px;
  }

  a {
    word-break: break-word; /* Memastikan link tidak overflow */
    overflow-wrap: break-word;
    white-space: normal;
    display: inline-block;
  }
	
  .navbar-brand img {
    width: 140px;
    height: 75px;
  }
	
  .section-padding {
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .hero-form {
    padding-bottom: 40px;
  }
	
	.navbar {
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .navbar-expand-lg .navbar-nav {
    padding-bottom: 30px;
  }

  .navbar-expand-lg .navbar-nav .nav-link {
    padding: 8px 20px;
  }
	
	.site-header .social-icon .social-icon-item .social-icon-link {
    text-align: left;
    margin-top: 5px;
  }
	
   .social-icon-item img{
    text-align: left;
    margin-top: 5px;
  	width: 26px;
  	height: 26px;
  }

  .hero-section-full-height {
    width: 100%;
    height: auto;
    overflow: hidden;
  }
	
	#hero-slide .carousel-item {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  
	.volunteer-image {
    width: 150px;
    height: 150px;
  }
  
  .volunteer-section::after {
    width: 200px;
    height: 200px;
  }

  .navbar-toggler {
    font-size: 20px;
  }

  .footer-menu-item {
    font-size: 12px;
  }

  .custom-text-box h2 {
    font-size: 20px;
  }
	
  .custom-text-block {
    padding: 20px 0 0 0;
  }

  .custom-text-box,
  .volunteer-form {
    padding: 30px;
  }
	
  .site-footer {
    padding-top: 50px;
  }

  .copyright-text-wrap {
    justify-content: center;
  }

  .site-footer-bottom {
    text-align: center;
    margin-top: 50px;
  }

  .site-footer-bottom .footer-menu {
    margin-top: 10px;
    margin-bottom: 10px;
  }

    .contact-left-dec,
    .contact-right-dec {
        display: none; /* Hide decorative images */
    }


    table {
        display: block;
        width: 100%;
    }

    thead {
        display: none; /* Sembunyikan header dalam mobile */
    }

    tbody, tr, td {
        display: block;
        width: 100%;
    }

    tr {
        margin-bottom: 10px;
        border: 1px solid #ccc;
        background: #fff;
        padding: 10px;
    }

    td {
        text-align: left;
        padding: 10px;
        font-size: 14px;
        position: relative;
    }

    td::before {
        content: attr(data-label); /* Gunakan `data-label` sebagai label */
        font-weight: bold;
        display: block;
        margin-bottom: 5px;
        color: #a0161d;
    }

    td[data-label="Date"] * {
        background-color: #a0161d; /* Warna latar merah */
        color: white; /* Warna teks putih supaya jelas */
        font-weight: bold;
        text-align: center;
        padding: 8px;
        font-size: 16px;
        display: block;
    }

	
	.image-container-logo img {
        width: 20%;
        height: auto;
    }
    
    .logo-wrapper {
        flex-direction: column;
        gap: 20px; /* Kurangkan jarak untuk mobile */
    }
    
    
/* -------------------------------------
Table Dress Code - Mobile Responsive
----------------------------------------*/
    
  .table2 {
    width: 100%;
    border-collapse: collapse;
  }

  .table2 td {
    display: block;
    padding: 10px;
    text-align: left;
    font-size: 14px;
  }

  .table2 td.symbol {
    display: none; /* Menyembunyikan simbol panah pada paparan mobile */
  }

  /* Mengubah teks kepada lebih besar jika perlu */
  .table2 td:first-child {
    font-weight: bold;
    margin-top: 10px;
  }

  /* Mengubah jenis teks jika perlu untuk mobile 
  li, p {
    font-size: 16px;
  }*/

  /* Penyesuaian untuk tajuk 
  li {
    font-size: 18px;
    margin-bottom: 20px;
  }*/
  
  /* Menambah latar belakang merah dan teks putih pada kotak */
  .table2 tr td:first-child {
    background-color: #ac0000;
    color: white;
    font-weight: bold;
  }
    
/* -------------------------------------
Contact Information - Mobile Responsive
----------------------------------------*/

/* Reset semua elemen untuk buang margin & padding tersembunyi */
    /* Pastikan tiada overflow */
    html, body {
        max-width: 100%;
        overflow-x: hidden !important;
        margin: 0;
        padding: 0;
    }

    /* Reset margin & padding pada semua elemen */
    * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    /* Pastikan semua elemen tidak melebihi skrin */
    .contactInfo-container, .row, .contactInfo-card {
        width: 100vw !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: hidden !important;
    }

    /* Buang lebihan Bootstrap */
    .row > [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Pastikan kad responsif */
    .contactInfo-card {
        padding: 15px;
        border: 2px solid #003399;
        border-radius: 10px;
        text-align: center;
    }
    
/* -------------------------------------
Gallery Image - Mobile Responsive
----------------------------------------*/

  .event-grid {
    gap: 15px;
  }

  .event-container {
    width: 100%;
  }

  .overlay-text {
    font-size: 11px;
  }

  .see-gallery-btn {
    font-size: 12px;
    padding: 5px 10px;
  }

  .modal {
    height: 70vh;
  }

  .modal img {
    max-height: 60vh;
  }

  .counter {
    font-size: 14px;
    top: 10px;
    left: 12px;
  }
  
}

/*---------------------------------------
Animated Collapsibles
-----------------------------------------*/
.collapsible {
  background-color: #2E3192;
  color: white;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 15px;
}

.activeC, .collapsible:hover {
 background-color: #ac0000;
 box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
 /* background: #DA22FF;  /* fallback for old browsers */
 /* background: -webkit-linear-gradient(to right, #9733EE, #DA22FF);  /* Chrome 10-25, Safari 5.1-6 */
 /* background: linear-gradient(to right, #9733EE, #DA22FF); */ /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
}

.collapsible:after {
  content: '\002B';
  color: white;
  font-weight: bold;
  float: right;
  margin-left: 5px;
}

.activeC:after {
  content: "\2212";
}

.content {
  padding: 0 18px;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
  background-color: #f1f1f1;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
}

/*---------------------------------------
Table of Programme
-----------------------------------------*/
.table1 {
 /* border: 1px solid black;*/
  border-collapse: collapse;
  box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25), 0px 4px 10px rgba(0, 0, 0, 0.25); /* Adds a subtle shadow effect */
}

.table1 th {
  padding-top: 6px;
  padding-bottom: 6px;
  padding-left: 20px;
  padding-right: 20px;
  color: white;
}

/*th {
  background-color: #243a7b;
}*/

.table1 td {
  text-align: left;
  padding: 5px;
  background-color: #f7f7f7;
  border-bottom: 2px dotted #525252; }

/*tr:hover {background-color: #D6EEEE;}*/

.nobull {
  list-style-type: none;
}


        table {
            width: 100%;
            border-collapse: collapse;
            box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.25), 0px 4px 10px rgba(0, 0, 0, 0.25); /* Adds a subtle shadow effect */
        }
        th, td {
            border: 1px solid black;
            padding: 5px;
            text-align: left;
        }
        th {
            background-color: #ac0000;
            color: white;
            text-align: center;
        }
        
        td {
            background-color: #ffffff;
        }
        
        td[rowspan] {
            vertical-align: middle;
            text-align: left;
            white-space: normal;
        }
        
        /* Warna untuk Day X */
        tr.day-0 td, tr.day-2 td, tr.day-4 td, tr.day-6 td  { 
            background-color: #e8f4f7; /*#d2edf5; #ADD8E6; */
        } /* Biru cerah */
        
        tr.day-1 td, tr.day-3 td, tr.day-5 td { 
            background-color: #fdf0f2; /*#fde3e7; #FFB6C1; */
        } /* Merah cerah */

        
/*---------------------------------------
Table of Dress Code
-----------------------------------------*/

        .table2 {
            width: 60%;
            border-collapse: collapse;
            font-size: 16px;
            border: 1px solid black;
        }
        .table2 th, .table2 td {
            border: 1px solid black;
            padding: 8px;
        }
        .symbol {
            width: 50px; /* Laraskan lebar lajur simbol */
            text-align: center; /* Pusatkan secara mendatar */
            vertical-align: middle; /* Pusatkan secara menegak */
            color: #ac0000; /* Tukar warna simbol ke merah */
            font-weight: bold;
        }



/*---------------------------------------
Filtering Images
-----------------------------------------*/

/* Row container styling */
.row {
  margin: 10px -16px;
  /* Adds a negative margin to pull columns closer to the edges */
}

/* Add padding between each column */
.row,
.row > .column {
  padding: 8px;
}

/* Create three equal columns that float next to each other */
.column {
  float: left;
  width: 33.33%; /* Adjusts columns to take up 1/3 of the row width */
  display: none; /* Hides all elements by default */
}

/* Clear floats after rows to ensure proper layout */
.row:after {
  content: "";
  display: table;
  clear: both;
}

/* Content block styling */
.content2 {
  background-color: white;
  padding: 10px;
  border-radius: 5px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
  transition: transform 0.3s ease; /* Smooth transform transition */
}

.content2:hover {
  transform: scale(1.03); /* Slightly enlarges the content on hover */
}

/* "show" class to display filtered elements */
.show {
  display: block; /* Makes filtered elements visible */
}

/* Button styling */
.butang {
  border: 1px solid #ddd;
  outline: none;
  padding: 12px 16px;
  margin: 4px; /* Adds space between buttons */
  background-color: white;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Button hover effect */
.butang:hover {
  background-color: #243a7b;
  color: white;
}

/* Active button styling */
.butang.active2 {
  background-color: #243a7b;
  color: white;
  font-weight: bold;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* Adds a shadow to the active button */
}


/*---------------------------------------
Read More
-----------------------------------------*/
#more {display: none;}
#more2 {display: none;}
#more3 {display: none;}
#more4 {display: none;}
#more5 {display: none;}
#more6 {display: none;}
#more7 {display: none;}
#more8 {display: none;}
#more9 {display: none;}
#more10 {display: none;}
#more11 {display: none;}

/*---------------------------------------
Scroll Top Button
-----------------------------------------
#myBtnTop {
  display: none;
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 99;
  font-size: 18px;
  border: none;
  outline: none;
  background-color: #170dad;
  color: white;
  cursor: pointer;

  padding: 10px;
  border-radius: 4px;
}

#myBtnTop:hover {
  background-color: #555;
}*/

/*---------------------------------------
Video Slideshow
-----------------------------------------*/
/*#myVideo {
  position: fixed;
  right: 0;
  bottom: 0;
  min-width: 100%; 
  min-height: 100%;
}

.contentVideo {
  position: fixed;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  color: #f1f1f1;
  width: 100%;
  padding: 20px;
}

#myButangVideo {
  width: 200px;
  font-size: 18px;
  padding: 10px;
  border: none;
  background: #000;
  color: #fff;
  cursor: pointer;
}

#myButangVideo:hover {
  background: #ddd;
  color: black;
}
video {
  width: 100%;
  height: auto;
}  */


/*---------------------------------------
   Back top         
-----------------------------------------*/

.go-top {
  background-color: #ffffff;
  box-shadow: 1px 1.732px 12px 0px rgba( 0, 0, 0, .14 ), 1px 1.732px 3px 0px rgba( 0, 0, 0, .12 );
  transition : all 1s ease;
  bottom: 2em;
  right: 2em;
  color: #222;
  font-size: 20px;
  display: none;
  position: fixed;
  text-decoration: none;
  width: 40px;
  height: 40px;
  line-height: 35px;
  text-align: center;
  border-radius: 100%;
}

.go-top:hover {
  background: #243a7b;
  color: #ffffff;
}

header2 {
  position: relative;
  background-color: white;
  height: 75vh;
  min-height: 25rem;
  width: 100%;
  overflow: hidden;
}

header2 video {
  position: relative;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  z-index: 0;
  -ms-transform: translateX(-50%) translateY(-50%);
  -moz-transform: translateX(-50%) translateY(-50%);
  -webkit-transform: translateX(-50%) translateY(-50%);
  transform: translateX(-50%) translateY(-50%);
}

header2 .container {
  position: relative;
  z-index: 2;
}

header2 .overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background-color: white;
  opacity: 0.5;
  z-index: 1;
}

/* Media Query for devices withi coarse pointers and no hover functionality */

/* This will use a fallback image instead of a video for devices that commonly do not support the HTML5 video element */

@media (pointer: coarse) and (hover: none) {
  header2 {
  background-repeat: no-repeat;
  }

  header2 video {
    display: none;
  }
}

/* 
---------------------------------------------
Contact Images Contact
--------------------------------------------- 
*/
.contact-left-dec img {
  width: 280px;
  height: 280px;
  left: 2px;
  position: absolute;
  z-index: 1;
  background-position: left top;
}

.contact-left-dec-program img {
  width: 400px;
  height: 520px;
  left: 2px;
  position: absolute;
  z-index: 1;
  background-position: left top;
}

.contact-left-dec-venue img {
  width: 400px;
  height: 520px;
  left: 2px;
  position: absolute;
  z-index: 1;
  background-position: left top;
}

.contact-left-dec-register img {
  width: 280px;
  height: 280px;
  left: 2px;
  position: absolute;
  z-index: 1;
  background-position: left top;
}

.contact-right-dec img {
  width: 280px;
  height: 280px;
  right: 2px;
  position: absolute;
  z-index: 1;
  background-position: right bottom;
}

.contact-right-dec-venue img {
  width: 400px;
  height: 520px;
  left: 2px;
  position: absolute;
  z-index: 1;
  background-position: right bottom;
}

.contact-right-dec-program img {
  width: 280px;
  height: 280px;
  right: 5px;
  bottom: 2px;
  position: absolute;
  z-index: 1;
  background-position: right bottom;
}


/* ---------------------------------------------
Hotel Options
--------------------------------------------- */

.rowHotel {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 kotak per row */
  gap: 16px;
  align-items: stretch; /* semua column stretch sama tinggi */
}

.columnHotel {
  display: flex;
}

.cardHotel {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  transition: transform 0.3s ease;
  background: #fff;
  padding: 15px;
  font-size: 16px;
  height: 100%; /* semua kotak ikut tinggi column */
}

.cardHotel:hover {
  transform: scale(1.03);
}

.containerHotel {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}


.containerHotel p,
.containerHotel a {
  font-size: 14px;
  margin: 2px 0;
}

.custom-btnHotel {
  border: none;
  outline: 0;
  display: inline-block;
  padding: 8px 16px;
  color: #fff;
  background-color: #000;
  text-align: center;
  cursor: pointer;
  border-radius: 6px;
  margin-top: auto; /* pastikan duduk bawah */
  text-decoration: none;
}

.custom-btnHotel:hover {
  background-color: #243a7b;
  color: #fff;
}

/* Responsive */
@media screen and (max-width: 1024px) {
  .rowHotel {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 600px) {
  .rowHotel {
    grid-template-columns: 1fr;
  }
}


/* ---------------------------------------------
 Website Counter
---------------------------------------------*/

/*.website-counter {
  display: flex;
  justify-content: left;
  align-items: left;

}*/

/* Styles for website counter container */
span.website-counter {
  color: white;
  font-weight: 700;
  font-size: 16px;
  display: inline;
}

/* Styles for reset button */
#reset {
  cursor: pointer;
  font-size: 18px;
  padding: 8px 20px;
  color: white;
  border: 0;
}

/*.nectar-gradient-text[data-color="extra-color-gradient-1"][data-direction="horizontal"]  {
  color: #23397a;
  background: linear-gradient(to bottom right,#d02028,#23397a);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
  display: inline-block;
}*/


/* ---------------------------------------------
 How to gradient the text
---------------------------------------------*/
.gradientText {
    background: linear-gradient(to right, #d02028,#23397a);
    color: transparent;
    background-clip: text;
    display: inline-block;
}


/*.buttonGradient {
  background: none;
  color: var(--white-color);
  font-size: var(--btn-font-size);
  font-weight: var(--font-weight-semibold);
  line-height: normal;
  padding: 15px 25px;
}

.buttonGradient2 {
  background: none;
  color: var(--primary-color);
  font-size: var(--btn-font-size);
  font-weight: var(--font-weight-semibold);
  line-height: normal;
  padding: 15px 23px;

}

.buttonGradient-border {
  border: 2px solid;
  border-image-slice: 1;
 }
 
 .buttonGradient-border2 {
  border: 2px solid;
  border-image-slice: 1;
 }

 .buttonGradient-purple {
  border-image-source: linear-gradient(to right, #d02028,#23397a);
  
 }
 
  .buttonGradient-purple2 {
  border-image-source: linear-gradient(to right, #d02028,#23397a);
  
 }

.buttonGradient:hover, .buttonGradient-border:hover  .buttonGradient-purple:hover {
  background: linear-gradient(to right, #d02028,#23397a); 
  border-color: transparent;
  color: var(--white-color);
}

.buttonGradient2:hover, .buttonGradient-border2:hover  .buttonGradient-purple2:hover {
  background: linear-gradient(to right, #d02028,#23397a); 
  border-color: transparent;
  color: var(--white-color);
} */


/* ---------------------------------------------
 How to gradient the button
---------------------------------------------*/

        .buttonGradient {
            position: relative;
            display: inline-block;
            color: var(--black-color);
            font-size: var(--btn-font-size);
            font-weight: var(--font-weight-semibold);
            padding: 17px 25px;
            background-color: transparent;
            border-radius: 10px;
            z-index: 1;
            overflow: hidden;
            transition: color 0.3s, background 0.3s;
            text-decoration: none;
        }

        .buttonGradient::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 10px;
            padding: 2px; /* Width of the "border" */
            background: linear-gradient(to right, #0b70f1, #1b1464);
            -webkit-mask: 
              linear-gradient(#fff 0 0) content-box, 
              linear-gradient(#fff 0 0);
            -webkit-mask-composite: destination-out;
                    mask-composite: exclude;
            z-index: -1;
        }

        .buttonGradient:hover {
            background: linear-gradient(to right, #0b70f1, #1b1464);
            color: var(--white-color);
            transition: transform 0.3s ease;
            transform: scale(1.03); /* Slightly enlarges the content on hover */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
        }

/* -------------------------------
For the second button variation 
---------------------------------*/

        .buttonGradient2 {
            position: relative;
            display: inline-block;
            color: var(--primary-color);
            font-size: var(--btn-font-size);
            font-weight: var(--font-weight-semibold);
            padding: 17px 20px;
            background-color: transparent;
            border-radius: 10px;
            z-index: 1;
            overflow: hidden;
            transition: color 0.3s, background 0.3s;
            text-decoration: none;
        }

        .buttonGradient2::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 10px;
            padding: 2px; /* Width of the "border" */
            background: linear-gradient(to right, #0b70f1, #1b1464);
            -webkit-mask: 
              linear-gradient(#fff 0 0) content-box, 
              linear-gradient(#fff 0 0);
            -webkit-mask-composite: destination-out;
                    mask-composite: exclude;
            z-index: -1;
        }

        .buttonGradient2:hover {
            background: linear-gradient(to right, #0b70f1, #1b1464);
            color: var(--white-color);
            transition: transform 0.3s ease;
            transform: scale(1.03); /* Slightly enlarges the content on hover */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
        }
        
        
/* -------------------------------
For the Third button variation 
---------------------------------*/

        .buttonGradient3 {
            position: relative;
            display: inline-block;
            color: var(--primary-color);
            font-size: var(--btn-font-size);
            font-weight: var(--font-weight-semibold);
            padding: 12px 15px;
            background-color: transparent;
            border-radius: 10px;
            z-index: 1;
            overflow: hidden;
            transition: color 0.3s, background 0.3s;
            text-decoration: none;
        }

        .buttonGradient3::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            border-radius: 10px;
            padding: 2px; /* Width of the "border" */
            background: linear-gradient(to right, #0b70f1, #1b1464);
            -webkit-mask: 
              linear-gradient(#fff 0 0) content-box, 
              linear-gradient(#fff 0 0);
            -webkit-mask-composite: destination-out;
                    mask-composite: exclude;
            z-index: -1;
        }

        .buttonGradient3:hover {
            background: linear-gradient(to right, #0b70f1, #1b1464);
            color: var(--white-color);
            transition: transform 0.3s ease;
            transform: scale(1.03); /* Slightly enlarges the content on hover */
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow effect */
        }




/* ---------------------------------------------
 Logo Site Footer Zoom Hover
---------------------------------------------*/

.image-container img {
  transition: transform 0.3s ease-in-out;
}

.image-container img:hover {
  transform: scale(1.2);
}

.image-container-logo img {
  transition: transform 0.3s ease-in-out;
}

.image-container-logo img:hover {
  transform: scale(1.2);
}

.img-zoom {
  transition: transform 0.3s ease-in-out;
}

.img-zoom:hover {
  transform: scale(1.1);
}

/* ---------------------------------------------
 Countdown ATF2025
---------------------------------------------
html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

html,
body {
  background-color: #000;
  width: 100%;
  height: 100%;
}

ul#countdown {
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  width: 50%;
  margin: 0 auto;
  padding: 15px 0 20px 0;
  color: #fff;
  border: 1px solid #adafb2;
  border-width: 1px 0;
  overflow: hidden;
  font-family: 'Arial Narrow', Arial, sans-serif;
  font-weight: bold;
  
  li {
    margin: 0 -3px 0 0;navi
    padding: 0;
    display: inline-block;
    width: 25%;
    font-size: 72px;
    font-size: 6vw;
    text-align: center;
    
    .label {
      color: #adafb2;
      font-size: 18px;
      font-size: 1.5vw;
      text-transform: uppercase;
    }
  }
}*/


        .event {
            margin-bottom: 15px;
        }

.bottom-text {
  position: absolute;
  bottom: 100;
  left: 0;
  width: 100%;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.5); /* Optional: Add a semi-transparent background */
  color: white; /* Text color */
  padding: 10px; /* Padding around the text */
  box-sizing: border-box; /* Ensures padding doesn't affect width */

}

/* ----------------
 Gallery Photos
-------------------*/

    .event-grid {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      margin-top: 20px;
    }

    .event-container {
      position: relative;
      width: 350px;
      height: 250px;
      cursor: pointer;
      overflow: hidden;
      border-radius: 10px;
    }

    .event-image {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border-radius: 10px;
      transition: filter 0.3s ease-in-out;
    }

    .event-container:hover .event-image {
      filter: brightness(50%);
    }

    .overlay-content {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      text-align: center;
      color: white;
      opacity: 0;
      transition: opacity 0.3s ease-in-out;
    }

    .event-container:hover .overlay-content {
      opacity: 1;
    }

    .overlay-text {
      margin-bottom: 10px;
      font-size: 14px;
      font-weight: bold;
      line-height: 1.5;
      word-wrap: break-word;
    }

    .justify-text {
      width: 300px;
      height: 100px;
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
    }

    .see-gallery-btn {
      background-color: rgba(255, 255, 255, 0.8);
      border: none;
      color: black;
      padding: 8px 15px;
      border-radius: 5px;
      cursor: pointer;
      font-size: 14px;
      transition: background 0.3s ease;
    }

    .see-gallery-btn:hover {
      background-color: white;
    }

    .modal {
      display: none;
      position: fixed;
      inset: 0; /* Ini shortcut untuk top, right, bottom, left = 0 */
      width: 100%;
      height: 85vh;
      z-index: 1000; /* Lebih tinggi dari header */
      background-color: rgba(0, 0, 0, 0.95);
      align-items: center;
      justify-content: center;
      flex-direction: column;
      animation: fadeIn 0.5s ease forwards;
    }

    @keyframes fadeIn {
      from {opacity: 0;}
      to {opacity: 1;}
    }

    .modal img {
      width: auto;
      height: auto;
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      transition: transform 0.4s ease-in-out;
      animation: zoomIn 0.5s ease;
      margin: auto;
      display: block;
    }

    @keyframes zoomIn {
      from {transform: scale(0.8); opacity: 0;}
      to {transform: scale(1); opacity: 1;}
    }

    .close {
      position: absolute;
      top: 30px;
      right: 30px;
      font-size: 35px;
      cursor: pointer;
      color: white;
      transition: transform 0.3s ease;
    }

    .prev, .next {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-size: 40px;
      cursor: pointer;
      color: white;
      background: none;
      border: none;
      padding: 10px;
      transition: transform 0.3s ease;
    }

    .prev { left: 20px; }
    .next { right: 20px; }

    .close:hover, .prev:hover, .next:hover {
      background: rgba(0, 0, 0, 0.8);
      transform: scale(1.2);
    }

    .counter {
      position: absolute;
      top: 15px;
      left: 20px;
      font-size: 18px;
      color: white;
    }
        
        .logo-wrapper {
            display: flex;
            justify-content: center; /* Pastikan logo di tengah */
            align-items: center;
            gap: 20px; /* Kawal jarak antara dua logo */
        }  

        .logo-container {
            width: auto; /* Pastikan tidak terlalu besar */
            max-width: 300px; /* Hadkan lebar supaya tak terlalu jauh */
        }
        

/* ----------------
Contact Information
-------------------*/

      .section-title {
          width: 100%; /* Pastikan tajuk mengambil lebar penuh */
          text-align: center;
          font-weight: bold;
          margin-top: 25px; /* Jarak atas dari seksyen sebelumnya */
          margin-bottom: 15px; /* Jarak bawah ke kad */
      }
      
      /* .row-contact {
          Anda boleh tambah gap jika mahu jarak antara kad
          gap: 0 15px;  15px jarak menegak, 0px jarak mendatar (diuruskan oleh padding kolum) 
      }*/
      
      .contactInfo-card {
          border: 2px solid #003399;
          border-radius: 10px;
          padding: 15px; /* Sedikit padding tambahan */
          text-align: center;
          width: 100%; /* PENTING: Kad akan mengisi ruang kolum induk (col-md-4) */
          margin-bottom: 15px; 
          height: 100%; /* Pastikan semua kad mempunyai ketinggian yang sama */
          display: flex; /* Aktifkan flexbox untuk penjajaran dalaman */
          flex-direction: column; /* Susun kandungan secara menegak */
          justify-content: center; /* Jajarkan kandungan ke tengah secara menegak */
      }
      
      .contactInfo-card h5 {
          font-weight: bold;
          margin-bottom: 5px;
          font-size: 16px;
      }
      
      .contactInfo-card p {
          margin: 2px 0;
          font-size: 15px;
      }
      
      /* Kod .contactInfo-container tidak lagi diperlukan untuk susunan flex, 
         kerana kita gunakan sistem grid Bootstrap. */
        
        
/* ----------------------
Venue Filtering Images
-------------------------*/

.filter-buttons {
  margin-bottom: 20px;
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.filter-buttons button {
  padding: 8px 16px;
  cursor: pointer;
  background-color: #2E3192;
  color: white;
  border: none;
  border-radius: 5px;
  transition: background-color 0.3s ease;
}

    .filter-buttons button:hover {
      background-color: #ac0000;
    }

    .filter-buttons button.active {
      background-color: #ac0000;
    }

.image-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  justify-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

.image-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}

.image-card img {
  width: 100%;
  height: 200px; /* Anda boleh adjust height mengikut keperluan */
  object-fit: cover;
  transition: transform 0.3s ease;
}

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

.card-content {
  padding: 1px;
  position: relative;
  justify-content: space-between;
  font-size: 15px;
  line-height: 1.5;
  text-align: left; /* <-- TULISAN KIRI */
}


.more-text {
  display: none;
}

.card-content.expanded .more-text {
  display: inline;
}

/*.dots {
  display: inline;
}*/

.read-more {
  display: block;
  margin-top: 10px;
  background: none;
  border: none;
  color: #2E3192;
  cursor: pointer;
  font-size: 15px;
  text-align: left; /* <-- Button sejajar kiri juga */
  padding: 0;
}

.read-more:hover {
  color: #ac0000;
  text-decoration: underline;
}

    @media (max-width: 768px) {
      .image-gallery {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 480px) {
      .image-gallery {
        grid-template-columns: 1fr;
      }
    }
    

    .fade-in-section {
      opacity: 0;
      transform: translateY(30px);
      transition: all 0.6s ease-out;
    }

    .fade-in-active {
      opacity: 1 !important;
      transform: translateY(0) !important;
    }
    
/* ----------------------
Event Filtering Images
-------------------------*/
    
.category-link {
  display: block;
  padding: 8px 0;
  color: #000;
  text-decoration: none;
}

.category-link:hover {
  color: #b30000;
  font-weight: bold;
}

.category-link.active {
  color: #b30000;
  font-weight: bold;
  text-decoration: underline;
}

#all-events-btn.active {
  background-color: #b30000;
  color: white;
  font-weight: bold;
}

/* Kad Umum */
.card {
  background-color: #f8f9fa;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.2);
}

/* Gaya Imej */
.event-img {
  width: 80%;
  height: 120px;
  object-fit: cover;
  border-radius: 12px;
  margin: 0 auto;
  display: block;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Gaya Tarikh */
.event-date {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: #dc3545;
  color: white;
  padding: 5px 10px;
  font-size: 0.8rem;
  border-radius: 5px;
  font-weight: bold;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Tajuk & Text */
.card-title {
  font-size: 1.1rem;
  font-weight: 600;
  color: #343a40;
}
.card-text {
  font-size: 0.9rem;
  color: #6c757d;
}

.pagination .page-link {
  color: #343a40;
}
.pagination .page-item.active .page-link {
  background-color: #dc3545;
  border-color: #dc3545;
  color: white;
}

/* ----------------------
Past Events Information
-------------------------*/

.containerPastEvents {
    max-width: 900px;
    margin: 20px auto;
    padding: 20px;
  }
  .event-passed {
    color: #777;
    font-weight: bold;
    border-bottom: 1px solid #eee;
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .event-date-pastEvent {
    font-size: 1.2em;
    color: #555;
    margin-top: 5px;
  }
  
  .details-grid {
    display: flex;
    flex-wrap: wrap;
    /*gap: 20px; */
    padding-top: 20px;
    border-top: 1px solid #eee;
    justify-content: space-between;
  }
  .details-column {
    /* flex: 1; telah dialih keluar untuk membenarkan saiz lajur mengikut kandungan */
    padding: 0 10px; /* Menambah sedikit ruang di kiri dan kanan setiap lajur */
    min-width: 170px; /* Lebar minimum untuk setiap lajur teks */
  }
  .map-column {
    min-width: 250px;
    flex-basis: 30%; /* Peta mengambil ~30% lebar */
  }
  .map-iframe {
    border: 1px solid #ccc;
    width: 100%;
    height: 250px;
    border-radius: 4px;
  }
  
  /* --- CSS UNTUK REKA LETAK BARU --- */
  .download-banner {
    display: flex; /* Menggunakan Flexbox */
    justify-content: space-between; /* Meletakkan item di hujung kiri dan kanan */
    align-items: center; /* Menengahkan item secara menegak */
    margin-top: 25px;
    margin-bottom: 25px;
    gap: 15px;
  }
  .download-banner p {
    margin: 0;
    font-weight: bold;
  }
  .info-button {
    background-color: #2E3192; /* Warna biru */
    color: #ffffff;
    padding: 10px 18px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    display: inline-flex;
    align-items: center;
    gap: 8px; /* Jarak antara ikon dan teks */
    transition: background-color 0.3s;
  }
  .info-button:hover {
    background-color:  #ac0000;
    text-decoration: none;
    color: #fff;
  }
  /* --- TAMAT CSS UNTUK REKA LETAK BARU --- */
  
  /* --- CSS untuk Explore Malaysia --- */
  
  .section {
    margin-bottom: 30px;
  }
  
/* Wrapper to center the content */
        .container-map {
            max-width: 1000px;
            width: 100%;
            margin: 20px auto;
            text-align: center;
        }
        /* Grid container for the state buttons */
        .state-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
            gap: 25px;
            min-height: 350px; /* Provides space to prevent layout shift */
        }
        /* Styling for each state button (as a link) */
        .state-button {
            display: flex; /* Initially set to flex, JS will hide/show */
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-decoration: none;
            color: #333;
            background: #f0f7ff;
            padding: 20px 15px;
            border-radius: 12px;
            border: 2px solid #2E3192;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            height: 150px;
        }
        .state-button:hover {
            transform: translateY(-6px);
            box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
        }
        /* Styling for the state map image inside the button */
        .state-button img {
            height: 80px;
            margin-bottom: 15px;
            object-fit: contain;
        }
        /* Styling for the state name text */
        .state-button span {
            font-weight: 600;
            font-size: 1em;
            color: #2E3192;
        }
        /* Pagination controls container */
        .pagination-controls {
            margin-bottom: 30px;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 10px;
        }
        /* Styling for all pagination buttons */
        .pagination-button, .nav-button {
            cursor: pointer;
            background-color: #ffffff;
            border: 2px solid #dde6f0;
            color: #2E3192;
            font-weight: bold;
            border-radius: 8px;
            min-width: 40px;
            height: 40px;
            padding: 0 10px;
            transition: background-color 0.2s, color 0.2s;
        }
        .pagination-button:hover, .nav-button:hover {
            background-color: #e2e8f0;
        }
        /* Styling for the active page button */
        .pagination-button.active {
            background-color: #2E3192;
            color: #ffffff;
            border-color: #1c3d5a;
        }
        /* Style for disabled Previous/Next buttons */
        .nav-button:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }
  
/* ---------------------------
CSS untuk Map Interactive
------------------------------*/

        /* Gaya Khusus untuk Peta Interaktif Anda */
        .container-mapInteractive {
            border: 1px solid #ddd;
            border-radius: 12px;
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0,0,0,0.1);
            margin-top: 2rem;
        }
        /* Gaya untuk tajuk */
        .header-map {
            background-color: #ffffff;
            padding: 15px 20px;
            text-align: center;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            border-bottom: 1px solid #ddd;
        }
        .header-map h6 {
            margin: 0;
            color: #333;
            font-size: 1.2em;
            font-weight: bold;
        }
        
        /* Div untuk memaparkan peta, ia akan mengambil baki ruang */
        #map {
            height: 530px; /* Anda boleh laraskan ketinggian peta di sini */
            width: 100%;
        }
        
        /* Gaya untuk popup */
        .leaflet-popup-content-wrapper {
            border-radius: 8px;
        }
        .leaflet-popup-content {
            text-align: center;
        }
        .popup-flag {
            width: 60px;
            height: auto;
            border-radius: 4px;
            margin-bottom: 8px;
            box-shadow: 0 1px 3px rgba(0,0,0,0.2);
        }
        .popup-title {
            font-weight: bold;
            font-size: 1.1em;
        }
        .popup-link {
            display: inline-block;
            margin-top: 10px;
            padding: 5px 10px;
            background-color: #007bff;
	          color: white !important; /* DITETAPKAN: Warna teks sentiasa putih dengan !important */
            text-decoration: none;
            border-radius: 4px;
            font-size: 0.9em;
            transition: background-color 0.3s;
        }
        .popup-link:hover {
            background-color: #0056b3;
            color: white !important; /* DIKEKALKAN: Warna teks kekal putih semasa hover */
        }
        
        /* Gaya untuk Tooltip Bendera (Hover) */
        .flag-tooltip {
            background-color: transparent;
            border: none;
            box-shadow: none;
        }
        .flag-tooltip .leaflet-tooltip-content {
            padding: 0;
            margin: 0;
        }
        .flag-tooltip img {
            width: 80px; /* Saiz bendera */
            height: auto;
            border-radius: 4px;
            box-shadow: 0 1px 4px rgba(0,0,0,0.2);
        }
        
/* ---------------------------
CSS untuk Intro Profile
------------------------------*/

        .profile-card {
            display: flex;
            align-items: flex-start; /* DIUBAH: Jajarkan ke atas untuk susunan lebih kemas */
            text-align: left;
            gap: 30px;
            margin-bottom: 2rem;
        }
        .profile-image-container {
            flex-shrink: 0; /* Elakkan gambar dari mengecut */
        }
        .profile-image {
            width: 200px;
            height: 300px;
            border-radius: 5%;
            object-fit: cover;
           /* box-shadow: 0 4px 15px rgba(0,0,0,0.1); */
        }
        .profile-image:hover {
            transform: scale(1.1);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
            transition: transform 0.3s, box-shadow 0.3s;
        }
        .profile-info {
            min-width: 0; /* DITAMBAH: Membetulkan masalah teks menurun ke bawah */
        }
        .profile-info h6 {
            font-size: 1.2em;
            color: #2E3192;
            margin-bottom: 10px;
            margin-top: 0;
        }
        /* Gaya untuk bendera ASEAN */
        .asean-flags img {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            object-fit: cover;
            margin-right: 6px;
            border: 2px solid #fff;
            box-shadow: 0 1px 3px rgba(0,0,0,0.1);
            transition: transform 0.3s, box-shadow 0.3s;
        }
        .asean-flags img:hover {
            transform: scale(1.1);
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        /* Responsif untuk skrin kecil */
        @media (max-width: 600px) {
            .profile-card {
                flex-direction: column;
                text-align: center;
                align-items: center;
            }
            .profile-info p {
                text-align: center;
            }
            .asean-flags {
                /* Pastikan bendera tidak terlalu banyak dalam satu baris di skrin kecil */
                display: flex;
                flex-wrap: wrap;
                justify-content: center;
                gap: 8px;
            }
            .asean-flags img {
                margin-right: 0;
            }
        }
        /* --- Penyesuaian untuk skrin 480px ke bawah --- */
        @media (max-width: 480px) {
            .profile-image {
            /* Kecilkan sedikit saiz gambar */
              width: 180px;
              height: 270px;
              align-items: center;
        }
        .profile-info {
            text-align: center;
        }

        .profile-info p {
            /* Kecilkan sedikit saiz fon untuk lebih ruang */
            font-size: 15px;
            text-align: justify;
        }
        }

        /* --- Penyesuaian untuk skrin 430px ke bawah --- */
        @media (max-width: 430px) {
          .profile-image {
            /* Kecilkan lagi saiz gambar untuk skrin yang sangat kecil */
            width: 160px;
            height: 240px;
            align-items: center;
          }

          .profile-card {
            /* Kurangkan jarak antara gambar dan teks */
            gap: 15px;
          }

          .asean-flags img {
            /* Kecilkan saiz bendera */
            width: 50px;
            height: 50px;
          }
        }
        

/* ---------------------------
CSS untuk New Footer
------------------------------*/

        .footer-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between; /* DIUBAH: Untuk jarak yang lebih baik antara lajur */
            max-width: 1100px;
            margin: 0 auto;
        }
        
        .footer-column {
            width: 20%; /* DIUBAH: Dilebarkan sedikit untuk memberi lebih ruang */
            min-width: 300px; /* Lebar minimum untuk mengelakkan teks terpotong */
            padding: 0 15px;
            box-sizing: border-box;
        }
        /* Responsif untuk skrin kecil */
        @media (max-width: 992px) {
            .footer-column {
                width: 48%;
                margin-bottom: 30px;
            }
        }
        @media (max-width: 768px) {
            .footer-column {
                width: 100%;
            }
        }

        /* Gaya Kandungan Footer */
        .footer-column h4 {
            font-size: 1.2em;
            margin-bottom: 20px;
            border-bottom: 1px solid #2E3192;
            padding-bottom: 10px;
            color: #2E3192; 
        }
        
        /* Lajur 1: Quick Links (Logo) */
        .quick-links-logos a {
            display: inline-block;
            margin-right: 10px; /* DIUBAH: Jarak antara logo dikurangkan */
            margin-bottom: 15px;
            vertical-align: middle; /* Memastikan logo sejajar */
        }
        .quick-links-logos img {
            height: 60px; /* Saiz standard untuk logo */
            transition: transform 0.3s;
        }
        .quick-links-logos img:hover {
            transform: scale(1.1);
        }
        
        .partner-section {
            margin-top: 30px; /* Jarak antara Quick Links dan Partner */
        }
        
        /* PEMBETULAN: Gaya khas untuk tajuk partner */
        .partner-section h4 {
            white-space: nowrap; /* Paksa teks untuk kekal dalam satu baris */
        }

        /* Lajur 2: Related Events */
        .related-events-list {
            list-style: none;
            padding: 0;
            margin: 0;
        }
        .related-events-list li {
            margin-bottom: 10px;
        }
        .related-events-list a {
            color: #ffffff;
            text-decoration: none;
            transition: color 0.3s;
        }
        .related-events-list a:hover {
            color: #dcdcdc;
            text-decoration: underline;
        }

        /* Lajur 3: Contact Us */
        .contact-info p {
            margin: 0 0 15px 0;
            line-height: 1.7;
            color: #ffffff;
            white-space: nowrap;
        }
        .contact-details {
            list-style: none;
            padding: 0;
            margin: 0 0 20px 0;
        }
        .contact-details li {
            display: flex;
            align-items: center;
            margin-bottom: 8px;
        }
        .contact-details .bi { /* Gaya untuk ikon Bootstrap */
            font-size: 16px;
            margin-right: 10px;
            width: 16px;
            text-align: center;
            color: #ffffff; /* DIUBAH: Memastikan ikon contact berwarna putih */
        }
        .contact-details a {
            color: #ffffff;
            text-decoration: none;
        }
        .contact-details a:hover {
            text-decoration: underline;
        }
        
        /* Gaya untuk Ikon Sosial Media */
        .social-icons {
            display: flex; /* DITAMBAH: Memastikan ikon dalam satu baris */
            flex-wrap: wrap; /* Benarkan wrap jika skrin terlalu kecil */
        }
        /* Gaya untuk Ikon Sosial Media */
        .social-icons a {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            width: 36px;
            height: 36px;
            background-color: rgba(255, 255, 255, 0.1);
            color: #ffffff;
            border-radius: 50%;
            text-decoration: none;
            margin-right: 10px;
            transition: background-color 0.3s;
        }
        .social-icons a:hover {
            background-color: #2E3192;
        }
        .social-icons .bi { /* Gaya saiz untuk ikon sosial media */
            font-size: 18px;
        }

/* ---------------------------
CSS untuk New Gallery Photos
------------------------------*/
    
        /* DIUBAH: Nama kelas ditukar kepada yang lebih spesifik */
        .gallery-section-padding {
            padding: 40px 0;
        }
        .gallery-container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 20px;
        }
        .gallery-row {
            display: flex;
            flex-wrap: wrap;
        }
        .gallery-col {
            width: 100%;
        }

        /* Gaya Galeri */
        .gallery-header {
            text-align: center;
            margin-bottom: 40px;
        }

        .gallery-header p {
            font-size: 1.1em;
            color: #666;
        }

        /* Gaya Grid Kategori */
        .category-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
        }
        .category-card {
            position: relative;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 6px 12px rgba(0,0,0,0.15);
            cursor: pointer;
            height: 250px;
        }
        .category-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease;
        }
        .category-card .overlay {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.6);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            color: white;
            opacity: 0;
            transition: opacity 0.4s ease;
            text-align: center;
            padding: 20px;
        }
        .category-card:hover .overlay {
            opacity: 1;
        }
        .category-card:hover img {
            transform: scale(1.1);
        }
        .overlay h3 {
            margin: 0;
            font-size: 1.5em;
            color: white;
        }
        .overlay .see-new-gallery-btn {
            margin-top: 15px;
            padding: 10px 20px;
            background-color: #2E3192;
            color: white;
            text-decoration: none;
            border-radius: 20px;
            border: 2px solid white;
            transition: background-color 0.3s;
        }
        .overlay .see-new-gallery-btn:hover {
            background-color: #ac0000;
        }

        /* Gaya Lightbox */
        .lightbox {
            /* DIUBAH: Menambah !important untuk mengatasi konflik CSS */
            position: fixed !important; 
            top: 0 !important; 
            left: 0 !important; 
            width: 100% !important; 
            height: 100% !important;
            background-color: rgba(0, 0, 0, 0.9) !important;
            display: none; 
            justify-content: center; 
            align-items: center;
            z-index: 99999 !important; /* Nilai z-index yang sangat tinggi */
        }
        .lightbox.active { display: flex; }
        .lightbox img {
            max-width: 90%;
            max-height: 80%;
            object-fit: contain;
            box-shadow: 0 0 25px rgba(0,0,0,0.5);
            transition: transform 0.3s ease;
            cursor: zoom-in;
        }
        .lightbox img.zoomed {
            transform: scale(1.5);
            cursor: zoom-out;
        }
        .lightbox .prev-btn, .lightbox .next-btn {
            position: absolute !important; top: 50% !important; transform: translateY(-50%) !important;
            color: #fff !important; font-size: 2.5em !important; cursor: pointer !important; user-select: none !important; transition: color 0.2s !important;
            z-index: 100001 !important;
        }
        .lightbox .prev-btn:hover, .lightbox .next-btn:hover { color: #bbb !important; }
        .lightbox .prev-btn { left: 20px !important; }
        .lightbox .next-btn { right: 20px !important; }
        
        .lightbox .image-counter {
            position: absolute !important; top: 25px !important; left: 30px !important;
            color: #fff !important; font-size: 1.2em !important;
            z-index: 100001 !important;
        }
        .top-right-controls {
            position: absolute !important; top: 20px !important; right: 30px !important;
            display: flex !important; align-items: center !important; gap: 25px !important; color: #fff !important;
            z-index: 100001 !important;
        }
        .top-right-controls span {
            cursor: pointer !important; font-size: 1.5em !important; transition: color 0.2s !important;
        }
        .top-right-controls .close-btn {
            font-size: 2.5em !important; font-weight: 300 !important;
        }
        .top-right-controls span:hover { color: #bbb !important; }

        .share-container {
            position: relative !important;
        }
        .share-menu {
            position: absolute !important;
            top: 100% !important;
            right: 0 !important;
            background-color: #fff !important;
            border-radius: 8px !important;
            box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
            overflow: hidden !important;
            width: 200px !important;
            display: none !important;
            z-index: 100002 !important;
        }
        .share-menu.show {
            display: block !important;
        }
        .share-menu a {
            display: flex !important;
            align-items: center !important;
            padding: 12px 15px !important;
            color: #333 !important;
            text-decoration: none !important;
            font-size: 0.95em !important;
            transition: background-color 0.2s !important;
        }
        .share-menu a:hover {
            background-color: #f5f5f5 !important;
        }
        .share-menu i {
            margin-right: 12px !important;
            font-size: 1.2em !important;
        }
        
/* ---------------------------
CSS untuk Main Events
------------------------------*/

            /* Custom styles to integrate new sections */
            .mainEvents-hero {
                background-color:  #2E3192;
            }
            .mainEvents-countdown-item {
                background-color: rgba(255, 255, 255, 0.15);
                border-radius: 0.5rem;
                padding: 1rem;
                min-width: 90px;
            }
            .mainEvents-filter-btn.active {
                background-color:  #2E3192; /* Bootstrap Blue */
                color: white;
            }
            .mainEvents-filter-btn:not(.active):hover {
                background-color: #ac0000;
                color: white;
            }
            .mainEvents-gallery-item {
                transition: transform 0.3s ease, opacity 0.3s ease;
            }
            .mainEvents-gallery-item.hide {
                transform: scale(0.9);
                opacity: 0;
                display: none;
            }
            
/* =========================================================
   MAIN MOBILE STYLES (480px and below)
   ========================================================= */
@media (max-width: 480px) {
    
    /* Memaksa semua seksyen kandungan utama untuk dipaparkan */
    .news-detail-header-section-3,
    .news-section,
    #info,
    #agenda,
    #registration,
    #venue,
    #faq,
    #selangor {
        display: block !important;
        visibility: visible !important;
        height: auto !important;
        opacity: 1 !important;
        transform: none !important;
        animation: none !important;
        transition: none !important;
    }
    
        /* Penyesuaian untuk memisahkan baris tarikh dan lokasi */
    .mainEvents-hero p.fs-4 {
        max-width: 280px; 
        margin-left: auto;
        margin-right: auto;
        line-height: 1.5;
        text-align: center;
    }
    
    /* Penyesuaian Umum */
    h1, .h1 { font-size: 2rem; }
    h2, .h2 { font-size: 1.75rem; }
    h4, .h4 { font-size: 1.2rem; }
   /* .section-padding { padding-top: 50px; padding-bottom: 50px; }
    .navbar-brand .logo { max-height: 45px; }*/

    /* Bahagian Hero & Countdown */
    .mainEvents-hero .display-5 { font-size: 1.8rem; }
    .mainEvents-hero .fs-4 { font-size: 1rem !important; flex-direction: column; line-height: 1.5; }
    #countdown { gap: 15px; flex-wrap: wrap; justify-content: center; }
    .mainEvents-countdown-item .fs-2 { font-size: 1.5rem; }
    .mainEvents-countdown-item .small { font-size: 0.75rem; }
    
    /* Tab Agenda */
    #agenda .nav-tabs { flex-wrap: wrap; }
    #agenda .nav-item { margin-bottom: 5px; }
    #agenda .nav-link { padding: 0.5rem 0.8rem; }

    /* Kad Hotel & Galeri */
    .rowHotel { flex-direction: column; align-items: center; }
    .columnHotel { width: 95%; margin-bottom: 25px; }
    .d-flex.flex-wrap.justify-content-center.gap-2 { flex-direction: column; }
    #gallery-grid .mainEvents-gallery-item { flex: 0 0 100%; max-width: 100%; }

    /* Maklumat Hubungan & Footer */
    .row-contact .col-md-4 { width: 100%; margin-bottom: 20px; }
    .contactInfo-card { text-align: center; }
     /* .footer-container { flex-direction: column; text-align: center; }
    .footer-column { margin-bottom: 30px; }
    .quick-links-logos, .social-icons { justify-content: center; }
    .site-footer-bottom .copyright-text { font-size: 12px; text-align: center; line-height: 1.6; }*/
    
    /* Menyasarkan perenggan di bawah tajuk "34th ASCC Meeting" */
    #info .text-center p,
    
    /* Menyasarkan perenggan di bawah tajuk "A GLIMPSE INTO SELANGOR HISTORY" */
    #selangor .text-center p {
        text-align: justify !important;
    }
}

/* =========================================================
   SPECIFIC TWEAKS FOR EXTRA-SMALL SCREENS (375px and below)
   ========================================================= */
@media (max-width: 375px) {

    /* Tambah kod ini untuk menyusun semula countdown timer */
    #countdown {
        display: grid; /* Tukar dari flex ke grid */
        grid-template-columns: 1fr 1fr; /* Cipta 2 lajur yang sama lebar */
        gap: 15px; /* Jarak antara setiap kotak */
        max-width: 250px; /* Tetapkan lebar maksimum supaya tidak terlalu meregang */
        margin: 0 auto; /* Letakkan grid di tengah-tengah */
    }
    
     /* KOD BARU & LEBIH KUAT UNTUK MEMPERBAIKI URL */
     #registration p a.one {
        /* Memaksa penetapan semula cara teks dipaparkan */
        white-space: normal !important; /* Ini mungkin kunci utamanya */
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-all !important;
        
    }
    
    .mainEvents-hero .display-5 {
        font-size: 1.6rem; /* Kecilkan lagi tajuk utama */
    }

    .mainEvents-hero .btn-lg {
        padding: 0.5rem 1rem; /* Kecilkan saiz butang */
        font-size: 1rem;
    }

    h2, .h2 {
        font-size: 1.5rem; /* Kecilkan lagi saiz sub-tajuk */
    }
}

/* =========================================================
  CSS for 5 Priority Areas
========================================================= */

.priority-card {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 1px solid #dee2e6;
  border-radius: 0.5rem;
  padding: 1rem;
  text-decoration: none;
  color: #212529;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  height: 100%;
}

.priority-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  color: #2E3192;
}

.priority-number {
  font-size: 1.5rem;
  font-weight: 700;
  color: #ac0000; /* Warna merah Bootstrap */
  margin-right: 1rem;
  min-width: 20px;
  text-align: center;
}

.priority-icon {
  width: 60px; /* Saiz ikon */
  height: 60px;
  margin-right: 1rem;
  flex-shrink: 0;
}

.priority-text {
  font-size: 1rem;
}

/* =========================================================
  CSS for Ministry List (Sama Tinggi)
========================================================= */

/* Pastikan baris menggunakan flexbox untuk menyamakan ketinggian anak-anaknya */
.row.ministry-row {
  display: flex;
  flex-wrap: wrap;
}

.ministry-card {
  display: flex; /* Menggunakan flexbox untuk kawalan dalaman */
  flex-direction: column; /* Susun kandungan secara menegak */
  position: relative;
  background-color: #ffffff;
  border: 2px solid #2E3192;
  border-radius: 1rem; /* Sudut lebih bulat */
  padding: 2.5rem 1rem 1rem 1rem; /* Padding atas lebih untuk logo */
  text-decoration: none;
  color: #212529;
  transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
  height: 100%; /* BAHAGIAN PENTING: Memastikan kad meregang */
  text-align: center;
}

.ministry-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.ministry-logo {
  width: 60px; /* Saiz logo */
  height: 60px;
  border-radius: 50%; /* Logo bulat */
  border: 2px solid #2E3192;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
  background-color: #ffffff; /* Latar belakang logo jika telus */
  
  /* Kedudukan di atas kad */
  position: absolute;
  top: -30px; /* Separuh daripada ketinggian logo */
  left: 50%;
  transform: translateX(-50%);
}

.ministry-text {
  font-size: 1rem;
  font-weight: 500;
  /* BAHAGIAN DIUBAHSUAI: Nilai min-height ditambah */
  min-height: 92px; /* Laraskan nilai ini jika perlu */
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.5rem;
}

/* Penjajaran senarai di dalam kad */
.ministry-card ul {
  text-align: left;
  padding-left: 20px;
  margin-top: 10px;
  font-size: 0.9rem; /* Saiz fon lebih kecil untuk senarai */
  margin-bottom: auto; /* Pastikan senarai bermula selepas tajuk */
}

/* =========================================================
  CSS for Mobile View
========================================================= */

/* Untuk skrin tablet dan telefon bimbit yang lebih besar (sehingga 991px) */
@media (max-width: 991px) {
    .ministry-text {
        font-size: 0.9rem; /* Kurangkan saiz fon sedikit */
    }
}


/* Untuk skrin telefon bimbit (sehingga 480px) */
@media (max-width: 480px) {
    .ministry-card {
        padding-top: 2.2rem; /* Kurangkan padding atas */
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }
    .ministry-logo {
        width: 50px;
        height: 50px;
        top: -25px; /* Laraskan kedudukan logo */
    }
    .ministry-text {
        font-size: 0.85rem; /* Kurangkan saiz fon lagi */
    }
}

/* Untuk skrin telefon bimbit yang lebih kecil (sehingga 430px) */
@media (max-width: 430px) {
    .ministry-text {
        font-size: 0.8rem;
    }
}

/* Untuk skrin telefon bimbit yang paling kecil (sehingga 375px) */
@media (max-width: 375px) {
    .ministry-card {
        min-height: 120px; /* Pastikan kad mempunyai ketinggian minimum */
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .ministry-text {
        font-size: 0.75rem;
    }
}

/* CSS untuk menjajarkan senarai ke kiri */
.card-body ul {
  text-align: left;
  padding-left: 20px; /* Beri sedikit ruang di sebelah kiri */
}

.card-body p {
  text-align: left;
  padding-left: 20px; /* Beri sedikit ruang di sebelah kiri */
}


/* =========================================================
  CSS for Visitor Counter
========================================================= */

.visitor-counter-wrapper {
  margin-top: 1.5rem; /* Jarak dari pautan di atas */
  text-align: left;
}

.visitor-counter-label {
  display: block;
  font-size: 1.1em;
  font-weight: 600;
  margin-bottom: 0.5rem;
  color: #2E3192; /* Warna teks biru */
}

.visitor-counter {
  display: flex;
  gap: 3px; /* Jarak antara digit */
}

.visitor-counter .digit {
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-weight: bold;
  font-size: 1.5rem;
  padding: 8px 6px;
  border-radius: 4px;
  background-color: #ffffff; /* Latar belakang putih */
  color: #2E3192; /* Warna teks biru */
  border: 1px solid #dee2e6; /* Sempadan kelabu muda */
  box-shadow: 0 2px 4px rgba(0,0,0,0.1); /* Sedikit bayang */
  min-width: 28px; /* Pastikan semua digit sama lebar */
  text-align: center;
}


/* =========================================================
  CSS for Tentative Programme Main Events
========================================================= */
             #agenda .tableAgenda {
                border-radius: 2px;
                overflow: hidden; /* Memastikan sudut bulat pada jadual kelihatan */
            }
            #agenda .tableAgenda thead {
                background-color: #2E3192; /* Warna biru Bootstrap */
                color: white;
            }