:root {
  --bs-font-custom: Arial, Helvetica, sans-serif;
  --bs-body-font-family: var(--bs-font-custom);
}

.masthead {
  /* background: #0a77bd url("../../../base/images/bg.png"); */
  background: #0a77bd;
  padding: 0 !important;
}

.account-masthead {
  min-height: 30px;
  color: #fff;
  background: #00254c url("../../../base/images/bg.png");
}

.masthead .main-navbar .dropdown a {
  padding: 0.6rem 0.9rem;
  color: #fff;
  text-decoration: none;
}

.masthead .main-navbar .dropdown ul {
  padding: 0;
  margin-top: 10px;
}

@media (max-width: 992px) {
  .masthead .main-navbar .dropdown ul {
    margin-top: 0;
  }
}

.masthead .main-navbar .dropdown {
  display: unset;
}

.masthead .main-navbar .dropdown li a:hover {
  color: #ffffff;
  border-radius: 0.3rem;
  background-color: #003647 !important;
}

.masthead .main-navbar .dropdown li a {
  color: #000000;
  padding: 0.6rem 0.9rem;
  background-color: #fff !important;
  white-space: nowrap;
  display: block;
}

.masthead .main-navbar .dropdown ul li {
  margin-right: 0;
}

.ckan-footer-logo-custom {
  max-height: 60px;
  margin-bottom: 10px;
  max-width: 100%;
}

.stats-image>img {
  width: 450px;
}

.button-login-sso {
  border-radius: 5px !important;
  height: 40px;
  padding: 10px 12px;
  color: white;
}

.another-account {
  padding-bottom: 15px;
}

.form-check-maintenance-mode {
  padding-left: 0;
}

.check-maintenance-mode {
  width: 4em !important;
  height: 2em;
  margin-top: 0px;
  margin-left: 0px !important;
  float: none !important;
  vertical-align: middle;
}

.check-maintenance-mode:checked {
  background-color: #d43f3a;
  border-color: #d43f3a;
}
.dropdown {
  position: relative;
  display: inline-block;
}

.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  padding: 12px 16px;
  z-index: 1;
}

.dropdown:hover .dropdown-content {
  display: block;
}

.advance-config .dropdown-menu>li>a:hover,
.advance-config .dropdown-menu>li>a:focus {
  font-weight: bold;
  background: #efefef;
}

.advance-config .dropdown-menu>.active>a,
.advance-config .dropdown-menu>.active>a:hover,
.advance-config .dropdown-menu>.active>a:focus {
  font-weight: bold;
  background: #efefef;
  color: black;
}

.advance-config .dropdown-menu>li>a {
  padding: 10px 15px !important;
}

.dropdown-config:focus,
.dropdown-config:active,
.dropdown-config:hover {
  text-decoration: none;
}

.dropdown-config {
  margin-right: 2px;
  line-height: 1.42857143;
  border: 1px solid transparent;
  border-radius: 4px 4px 0 0;
  position: relative;
  display: block;
  padding: 10px 15px;
  cursor: pointer;
}

.maintenance {
  height: 100vh;
  background-image: url("/images/maintenance_bg.png");
  background-size: cover;
}

.maintenance .error-template {
  text-align: center;
}

.schedule-info-block {
  display: block;
  font-size: 11px;
  color: #6e6e6e;
  line-height: 1.3;
  margin-bottom: 15px;
  margin-top: 15px;
}

#status-running {
  font-size: 11px;
  color: #6e6e6e;
  margin-bottom: 15px;
  margin-top: 15px;
}

.main {
  min-height: calc(100vh - 255px);
}

/* Card tổ chức cải tiến - với chiều cao cố định */
.media-item.organization-card {

  background: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  position: relative;
  padding: 0;
  /* Đảm bảo card chiếm toàn bộ không gian trong grid */
  max-width: 208px;
}

/* .organization-card-image img {
  max-height: 130px !important;
} */

.organization-card-title {
  flex-grow: 1 !important;
}

.media-item.organization-card:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  border-color: #bfdcff;
}

/* Ẩn các phần tử cũ không cần thiết */
.media-item.organization-card .media-view {
  display: block;
}


/* Header card với ảnh - chiều cao cố định */
.organization-card-header {
  height: 140px;
  /* Chiều cao cố định cho phần header */
  overflow: hidden;
  background: #fffefe;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  width: 100%;

}

.organization-card-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Phần thân card với tiêu đề - chiều cao cố định */
.organization-card-body {
  flex: 1;
  background: #ffffff;

}
.organization-card-title {
  height: auto;
  min-height: 1.4em;
  display: block;
  position: relative;
  overflow: hidden;
}


/* Tạo hiệu ứng ellipsis (2 dòng) cho tiêu đề bằng cách sử dụng webkit mới hơn */
.organization-card-title a {
  color: #2275bb ;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  /* Hiển thị tối đa 2 dòng */
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-height: 2.8em
}

.organization-card-title a:hover {
  color: #0f4c81;
  text-decoration: none;
}

.organization-card-description {
  font-size: 0.9em;
  color: #555;
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  flex-grow: 1;

}

/* Footer với thông tin số bộ dữ liệu - chiều cao cố định */
.organization-card-footer {
  background: #ffffff;
  font-size: 0.95em;
  height: 50px;
}

.organization-card-dataset-count {
  gap: 5px;
}

.organization-card-dataset-count .count {
  color: #000000 ;
  display: inline-block;
}

.organization-card-dataset-count .zero-count {
  color: #999;
}


/* Sửa đổi grid hiện tại - tăng kích thước thẻ và giảm số cột */
.media-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  /* Cố định 3 cột thay vì auto-fill */
  gap: 20px;
  margin: 20px 0;
  width: 100%;
  /* Đảm bảo grid chiếm hết chiều rộng có sẵn */
  max-width: 100%;
  padding: 0;
}

/* Ẩn các phần tử clearfix làm vỡ grid */
.media-grid .clearfix {
  display: none !important;
}

/* Reset lại một số CSS mặc định của CKAN có thể ảnh hưởng */
/* .media-grid>li {
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  float: none !important;
} */

/* Tùy chỉnh container tổng thể nếu cần */
.primary {
  padding: 0 !important;
}

/* Container chứa danh sách tổ chức */
.primary-content {
  width: 100%;
  max-width: 100%;
  padding: 0 15px;
}

/* Responsive */
@media (max-width: 992px) {
  .media-grid {
    grid-template-columns: repeat(2, 1fr);
    /* 2 cột trên tablet */
  }
}


/* Responsive */
@media (max-width: 768px) {
  .media-grid {
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
  }
}

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

  /* Trên mobile, có thể giảm chiều cao để tối ưu hiển thị */
  .media-item.organization-card {
    height: 260px;
  }

  .organization-card-header {
    height: 120px;
  }
}

/* Reset các style không mong muốn */
.media-item.organization-card {
  border-radius: 4px ;
  overflow: hidden ;
  transition: all 0.2s ease ;
  margin-bottom: 20px ;
  background-color: white ;
  display: flex ;
  flex-direction: column ;
  height: 265px ;
  width: 100% ;
}

/* Loại bỏ tất cả các đường viền đặc biệt hoặc style đặc biệt */
.media-item.organization-card,
li.media-item.organization-card,
.media-grid li.media-item.organization-card {
  border: 1px solid #ddd;
  outline: none ;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) ;
  cursor: pointer;
  margin-bottom: 0.75rem;
}

.media-item.organization-card:hover {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
  border-color: #bfdcff ;
}

.organization-card-image {
  display: flex ;
  align-items: center ;
  justify-content: center;
  height: 100% ;
  width: 100%;
  padding: 10px;
}

.organization-card-image img {
  max-width: 100% ;
  max-height: 120px ;
  object-fit: contain ;
}

/* Phần tiêu đề tổ chức */
.organization-card-body {
  padding: 10px ;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 70px;
}

.media-heading.organization-card-title {
  margin: 0 ;
  font-size: 16px ;
  line-height: 1.4;
  font-weight: 600 ;
  text-align: center;
  color: #2275bb;
}

.organization-card-title a {
  color: #2275bb ;
  text-decoration: none ;
  display: -webkit-box ;
  -webkit-line-clamp: 2 ;
  -webkit-box-orient: vertical;
  overflow: hidden ;
  max-height: 2.8em ;
}

.organization-card-title a:hover {
  color: #0f4c81 ;
  text-decoration: none;
}

/* Footer hiển thị số lượng bộ dữ liệu */
.organization-card-footer {
  padding: 12px 15px ;
  color: #666;
  min-height: 45px ;
  display: flex ;
  align-items: center ;
  justify-content: center ;
  text-align: center;
}

.organization-card-dataset-count {
  display: flex;
  justify-content: center;
  align-items: center ;
}

.zero-count {
  color: #888 ;
}

/* Sửa lại grid layout */
.media-grid {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  /* 5 cột */
  gap: 20px !important;
  margin: 20px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Ẩn các phần tử clearfix làm vỡ grid */
.media-grid .clearfix,
.media-grid .js-hide {
  display: none !important;
}

/* Đảm bảo mỗi item chiếm đúng 1 cell trong grid */
.media-grid>li.media-item {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

/* Responsive */
@media (max-width: 1200px) {
  .media-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    /* 4 cột */
  }
}

@media (max-width: 992px) {
  .media-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    /* 3 cột */
  }
}

@media (max-width: 768px) {
  .media-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    /* 2 cột */
    gap: 15px !important;
  }
}

/* Điện thoại di động - giữ 2 cột như yêu cầu */
@media (max-width: 480px) {
  .media-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    /* Giảm khoảng cách xuống nhỏ hơn nữa cho màn hình nhỏ */
  }

  /* Giảm kích thước card để phù hợp với bố cục 2 cột trên màn hình nhỏ */
  .media-item.organization-card {
    width: 145px ;
    height: 220px;
    /* Giảm từ 260px xuống 220px */
  }

  /* Giảm chiều cao phần header có chứa hình ảnh */
  .organization-card-header {
    height: 100px ;
    /* Giảm từ 140px xuống 100px */
  }

  /* Giảm padding và font-size để tối ưu không gian */
  .organization-card-body {
    padding: 8px ;
    min-height: 60px ;
  }

  .organization-card-footer {
    padding: 8px 10px;
    min-height: 40px ;
  }

  .media-heading.organization-card-title {
    font-size: 14px ;
    line-height: 1.3 ;
  }

  .count,
  .zero-count {
    font-size: 13px ;
  }

  /* Giảm chiều cao tối đa của tiêu đề */
  .organization-card-title a {
    max-height: 2.6em ;
  }
}

@media (max-width: 390px) {
  .media-item.organization-card {
    width: 125px ;
    height: 220px ;
    /* Giảm từ 280px xuống 220px */
  }
}

.organization-card-dataset-capacity {
  display: flex ;
  justify-content: inherit ;
  align-items: center ;
  gap: 5px;
  margin-left: 10px;
}