/* CSS cho navbar */
.navbar {
  background: linear-gradient(
    45deg,
    #484980,
    #071bd3
  ); /* Gradient màu xanh lá cây khi được chọn */
  padding: 15px;
  text-align: left;
  position: sticky;
  top: 0;
  z-index: 1000;
  height: 20px;
}

.navbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: inline-block;
}

.navbar ul li {
  display: inline-block;
  position: relative;
  margin-right: 20px;
}

.navbar ul li a {
  text-decoration: none;
  color: white;
  font-size: 1.2em;
  padding: 10px 20px;
  transition: background-color 0.3s ease;
}

.navbar ul li a:hover {
  background-color: #083ac4;
  border-radius: 5px;
}

@media (max-width: 1080px) {
  .navbar {
    background: linear-gradient(
      45deg,
      #484980,
      #071bd3
    ); /* Gradient màu xanh lá cây khi được chọn */
    padding: 4px;
    text-align: left;
    position: sticky;
    top: 0;
    z-index: 1000;
    height: 20px;
  }

  .navbar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: inline-block;
  }

  .navbar ul li {
    display: inline-block;
    position: relative;
    margin-right: 10px;
  }

  .navbar ul li a {
    text-decoration: none;
    color: white;
    font-size: 0.8em;
    padding: 6px 12px;
    transition: background-color 0.3s ease;
  }

  .navbar ul li a:hover {
    background-color: #083ac4;
    border-radius: 2px;
  }
}

/* Thiết kế cho banner */
.banner {
  background-image: url("https://gcs.tripi.vn/public-tripi/tripi-feed/img/474075gqP/mau-background-banner-trang_014245841.jpg"); /* Thay thế bằng URL ảnh của bạn */
  background-size: cover;
  background-position: center;
  height: 200px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  position: relative;
  padding-left: 50px;
  padding-right: 50px;
}

.banner::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(180, 180, 180, 0.3); /* Lớp phủ màu trắng với độ mờ */
  z-index: 1;
}

/* Nội dung banner sử dụng flexbox */
.banner-content {
  display: flex;
  justify-content: left;
  align-items: center;
  width: 80%; /* Giới hạn chiều rộng của nội dung banner */
  z-index: 1;
  position: relative;
}

/* Thiết kế logo bên trái */
.logo-left {
  max-width: 150px; /* Kích thước logo */
  margin-right: 20px; /* Khoảng cách giữa logo và nội dung */
}

/* Phần nội dung văn bản trong banner */
.banner-text {
  max-width: 800px; /* Giới hạn chiều rộng nội dung để gọn hơn */
  left: 0px;
}

.banner h1 {
  font-size: 2.5em;
  margin-bottom: 5px;
  margin-top: 5px;
  text-transform: none;
  color: red;
}

.banner h2 {
  font-size: 2em;
  margin-bottom: 5px;
  margin-top: 5px;
  color: rgb(40, 96, 201);
}

/* Căn chỉnh icon liên hệ và số điện thoại */
.contact-info {
  z-index: 2;
  display: flex; /* Căn các icon và text theo chiều ngang */
  align-items: right;
  gap: 10px; /* Khoảng cách giữa các mục liên hệ */
}

.contact-item {
  display: flex;
  align-items: center;
}

.contact-item img.icon {
  width: 25px; /* Kích thước icon */
  height: 25px;
}

.contact-item span {
  font-size: 15px; /* Kích thước chữ cho số điện thoại */
  color: #d61c16; /* Màu trắng cho số điện thoại */
  width: 100pt;
}

.contact-face {
  display: flex;
  align-items: center;
}

.contact-face a {
  text-decoration: none; /* Loại bỏ gạch chân cho liên kết */
}

.contact-face span {
  font-size: 15px;
  color: #d61c16;
}

.contact-face a img.icon {
  width: 25px; /* Kích thước icon */
  height: 25px;
}

.contact-info img.icon:hover {
  transform: scale(1.1); /* Tăng kích thước icon khi hover */
  transition: transform 0.3s ease;
}

@media (max-width: 1080px) {
  /* Thiết kế cho banner */
  .banner {
    background-image: url("https://gcs.tripi.vn/public-tripi/tripi-feed/img/474075gqP/mau-background-banner-trang_014245841.jpg"); /* Thay thế bằng URL ảnh của bạn */
    background-size: cover;
    background-position: center;
    height: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    position: relative;
    padding-left: 10px;
    padding-right: 10px;
  }

  .banner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(
      180,
      180,
      180,
      0.3
    ); /* Lớp phủ màu trắng với độ mờ */
    z-index: 1;
  }

  /* Nội dung banner sử dụng flexbox */
  .banner-content {
    display: flex;
    justify-content: left;
    align-items: center;
    width: 70%; /* Giới hạn chiều rộng của nội dung banner */
    z-index: 2;
    position: relative;
  }

  /* Thiết kế logo bên trái */
  .logo-left {
    max-width: 50px; /* Kích thước logo */
    margin-right: 10px; /* Khoảng cách giữa logo và nội dung */
  }

  /* Phần nội dung văn bản trong banner */
  .banner-text {
    max-width: 600px; /* Giới hạn chiều rộng nội dung để gọn hơn */
    left: 0px;
  }

  .banner h1 {
    font-size: 1.2em;
    margin-bottom: 2px;
    margin-top: 2px;
    text-transform: none;
    color: red;
  }

  .banner h2 {
    font-size: 0.8em;
    margin-bottom: 2px;
    margin-top: 2px;
    color: rgb(40, 96, 201);
  }

  /* Căn chỉnh icon liên hệ và số điện thoại */
  .contact-info {
    z-index: 2;
    display: flex; /* Căn các icon và text theo chiều ngang */
    align-items: right;
    gap: 2px; /* Khoảng cách giữa các mục liên hệ */
  }

  .contact-item {
    display: flex;
    align-items: flex-end;
    margin-bottom: 3px;
  }

  .contact-item img.icon {
    width: 15px; /* Kích thước icon */
    height: 15px;
  }

  .contact-item span {
    font-size: 10px; /* Kích thước chữ cho số điện thoại */
    color: #d61c16; /* Màu trắng cho số điện thoại */
    width: 55pt;
  }

  .contact-face {
    display: flex;
    align-items: flex-end;
  }

  .contact-face a {
    text-decoration: none; /* Loại bỏ gạch chân cho liên kết */
  }

  .contact-face span {
    display: none;
    font-size: 10px;
    color: #d61c16;
  }

  .contact-face a img.icon {
    width: 15px; /* Kích thước icon */
    height: 15px;
  }

  .contact-info img.icon:hover {
    transform: scale(1.1); /* Tăng kích thước icon khi hover */
    transition: transform 0.3s ease;
  }
}

/* Container cho giao diện thi trắc nghiệm */
.quiz-container {
  display: flex;
  max-width: 1400px;
  height: 800px;
  margin: 80px auto;
  gap: 20px;
}

/* Cột bên trái chứa danh sách câu hỏi */
.question-list {
  background-color: rgb(206, 96, 96);
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 4px 8px rgba(14, 2, 2, 0.836);
  flex: 1;
}

.question-list h2 {
  font-size: 2em;
  text-align: center;
  color: black;
}

.question-list ul {
  display: grid;
  border-radius: 10px;
  grid-template-columns: repeat(5, 1fr); /* Chia thành 2 cột */
  list-style-type: none;
  border: 2px;
  padding: 0;
}

.question-list ul li {
  margin-bottom: 10px;
}

.question-list ul li button {
  display: block;
  font-size: 1em;
  width: 100%;
  padding: 10px;
  background-color: #e8eef0;
  border: 1px solid #0f0f0f;
  color: #131212;
  text-align: center;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s;
}

.question-list ul li button:hover {
  background-color: #0c5485;
  color: rgb(218, 204, 204);
}

/* Đồng hồ đếm ngược ở góc trên bên phải */
.timer {
  position: absolute;
  top: 290px;
  right: 70px;
  background-color: #061e6e;
  color: white;
  padding: 10px 15px;
  border-radius: 5px;
  font-size: 1.5rem;
  z-index: 1000; /* Đảm bảo đồng hồ nằm trên các thành phần khác */
  display: block; /* Luôn hiển thị trên mọi thiết bị */
}
/* Đối với màn hình nhỏ (điện thoại) */
@media (max-width: 768px) {
  .timer {
    display: block;
    top: 175px; /* Đưa đồng hồ xuống một chút để hiển thị hợp lý trên điện thoại */
    right: 15px;
    font-size: 1.2rem; /* Giảm kích thước chữ trên màn hình nhỏ */
    padding: 8px 12px; /* Giảm kích thước padding */
  }
}

/* Cố định kích thước phần hiển thị câu hỏi */
.quiz-content {
  border-radius: 10px;
  width: 70%; /* Chiếm 70% chiều rộng */
  height: 750px; /* Chiều cao cố định */
  margin: 0 auto; /* Canh giữa */
  padding: 10px;
  border: 1px solid #636060;
  overflow-y: auto; /* Thêm thanh cuộn nếu nội dung quá dài */
  background-color: #b0e0f3;
  box-shadow: 0 4px 8px rgba(14, 2, 2, 0.836);
}

/* Cố định kích thước phần danh sách câu hỏi */
.question-list {
  border-radius: 10px;
  width: 25%;
  height: 670px; /* Cùng chiều cao với phần câu hỏi */
  overflow-y: auto; /* Thanh cuộn nếu câu hỏi quá nhiều */
  padding: 10px;
  border-right: 1px solid #180e0e;
  background-color: #f1f1f1;
}

/* Thiết lập flexbox để cột bên trái và phải hiển thị ngang hàng */

/* Phần hiển thị nội dung câu hỏi cố định kích thước */
.question-content {
  width: 100%;
  height: 570px; /* Chiều cao cố định cho phần câu hỏi */
  padding: 5px;
  font-size: larger;
  box-sizing: border-box;
  overflow-y: auto; /* Thêm thanh cuộn nếu cần */
  background-color: #f9f9f9;
  border: 1px solid #ccc;
  margin-bottom: 20px;
}

/* Điều chỉnh kích thước hình ảnh trong question-content */
.question-content img {
  max-width: 100%; /* Đảm bảo hình ảnh không vượt quá chiều rộng phần tử chứa */
  height: auto; /* Giữ tỷ lệ hình ảnh */
  display: block; /* Loại bỏ khoảng cách thừa phía dưới hình ảnh */
  margin: 0 auto; /* Canh giữa hình ảnh trong question-content */
}

/* Điều chỉnh nút "Câu trước", "Câu sau" và căn chỉnh */
.nav-buttons {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}

/* Đặt kích thước cố định cho các nút */
.nav-buttons button {
  width: 150px; /* Độ rộng cố định cho nút */
  height: 50px; /* Chiều cao cố định */
  background-color: #007bff;
  color: white;
  border: 1px solid black;
  border-radius: 5px;
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: background-color 0.3s;
}

.nav-buttons button:hover {
  background-color: #0056b3;
  color: #0f0f0f;
}

/* Nút "Nộp bài" được đặt riêng */
.submit-button {
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

/* Đặt kích thước cố định cho nút "Nộp bài" */
.submit-button button {
  width: 150px; /* Độ rộng cố định cho nút */
  height: 50px;
  background-color: #28a745;
  color: white;
  border: 1px solid black;
  font-weight: bold;
  border-radius: 5px;
  cursor: pointer;
  font-size: 1em;
  text-align: center;
  transition: background-color 0.3s;
}

.submit-button button:hover {
  background-color: #218838;
  color: #0f0f0f;
}

#answer-list {
  list-style-type: none;
  padding: 0;
}

#answer-list li {
  margin-bottom: 10px;
}

#answer-list label {
  cursor: pointer;
  display: flex;
  align-items: center;
}

#answer-list input[type="radio"] {
  margin-right: 10px;
}

/* Thêm lớp highlight để làm nổi bật câu hỏi đang được chọn */
.question-list button.selected {
  background-color: #007bff; /* Màu nền xanh */
  color: white; /* Màu chữ trắng */
  font-weight: bold;
}

/* Màu cho các câu hỏi đã được trả lời */
.question-list button.answered {
  background-color: #28a745; /* Màu xanh lá cho câu đã trả lời */
  color: black; /* Màu chữ trắng */
  font-weight: bold;
}

button.selected {
  background: linear-gradient(
    45deg,
    #4caf50,
    #66bb6a
  ); /* Gradient màu xanh lá cây khi được chọn */
  color: white; /* Đảm bảo chữ trắng khi được chọn */
  font-weight: bold; /* In đậm câu đang được chọn */
  transform: scale(1.05); /* Tăng kích thước một chút khi được chọn */
}

button[style*="green"] {
  background: linear-gradient(
    45deg,
    #4caf50,
    #66bb6a
  ); /* Câu trả lời đúng với gradient */
  font-weight: bold; /* In đậm câu đúng */
}

button[style*="red"] {
  background: linear-gradient(
    45deg,
    #f44336,
    #ef5350
  ); /* Câu trả lời sai với gradient */
  font-weight: bold; /* In đậm câu sai */
}

/* Responsive cho màn hình nhỏ (điện thoại) */
@media (max-width: 1080px) {
  .quiz-container {
    flex-direction: column; /* Bố cục thành cột trên màn hình nhỏ */
    height: auto;
  }

  .question-list {
    display: none; /* Ẩn danh sách câu hỏi trên điện thoại */
  }

  .quiz-content {
    width: 96%; /* Chiếm toàn bộ chiều rộng trên màn hình nhỏ */
    height: auto; /* Chiều cao tự động điều chỉnh */
  }

  /* Điều chỉnh kích thước và bố cục cho các nút */
  .nav-buttons {
    margin-top: 10px;
  }

  .nav-buttons button {
    width: 90%; /* Nút chiếm toàn bộ chiều rộng */
    margin-bottom: 10px; /* Thêm khoảng cách giữa các nút */
  }

  .submit-button {
    margin-top: 10px;
  }

  .submit-button button {
    width: 50%; /* Nút nộp bài chiếm toàn bộ chiều rộng */
  }
  .question-content h3 {
    font-size: 1.1rem;
  }
  .question-content ul {
    font-size: 1rem;
  }
}

.popup {
  display: none; /* Ẩn hộp thoại mặc định */
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7); /* Nền mờ */
  justify-content: center;
  align-items: center;
}

.popup-content {
  background-color: white;
  padding: 50px;
  border-radius: 10px;
  text-align: center;
}

.result-image-container {
  display: flex; /* Sử dụng flexbox để căn giữa */
  justify-content: center; /* Căn giữa theo chiều ngang */
  margin: 15px 0; /* Thêm khoảng cách trên và dưới */
}

#result-image {
  width: 80px; /* Điều chỉnh kích thước hình ảnh */
  height: 80px;
  opacity: 0; /* Bắt đầu với độ mờ */
  transform: scale(0.8); /* Bắt đầu với kích thước nhỏ hơn */
  transition: opacity 0.5s ease, transform 0.5s ease; /* Thêm hiệu ứng chuyển đổi */
}

#result-image.show {
  opacity: 1; /* Hiện hình ảnh */
  transform: scale(1); /* Tăng kích thước về kích thước thực */
}
/*Nút xem kết quả*/
button {
  padding: 12px 20px; /* Kích thước lớn hơn để nút dễ nhấn */
  margin: 10px 5px; /* Giãn cách giữa các nút */
  border: none;
  cursor: pointer;
  color: white;
  background-color: #007bff; /* Màu nền xanh dương */
  border-radius: 5px; /* Bo góc nút */
  font-size: 16px; /* Kích thước chữ */
  transition: background-color 0.3s ease, transform 0.3s ease; /* Hiệu ứng chuyển đổi */
}

button:hover {
  background-color: #0056b3; /* Màu nền khi hover */
  transform: scale(1.05); /* Tăng kích thước một chút khi hover */
}

button:focus {
  outline: none; /* Ẩn viền khi nút được nhấn */
}

#confirm-ok {
  background-color: #28a745; /* Màu xanh lá cho nút OK */
}

#confirm-ok:hover {
  background-color: #218838; /* Màu xanh lá tối hơn khi hover */
  font-weight: bold;
}

#confirm-cancel {
  background-color: #dc3545; /* Màu đỏ cho nút Cancel */
}

#confirm-cancel:hover {
  background-color: #c82333; /* Màu đỏ tối hơn khi hover */
  font-weight: bold;
}

/* Popup hết giờ */
#timeout-popup {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
}

#timeout-popup h2 {
  color: #ff0000; /* Màu đỏ cho tiêu đề */
  margin-bottom: 10px;
}

#timeout-popup img {
  width: 100px; /* Kích thước hình ảnh đồng hồ */
  height: 100px;
  margin-top: 10px;
}

#timeout-popup p {
  font-size: 1.2rem;
  color: #333;
}

/* Chân trang */
.custom_footer_section {
  background-image: url("https://t3.ftcdn.net/jpg/04/42/06/34/360_F_442063430_OjLo5sHK0twuUk2hCGWpjLphEHiLcamL.jpg");
  background-size: cover;
  background-position: center;
  color: #ffffff;
  padding: 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.custom_footer_content {
  display: flex;
  max-width: 1200px;
  width: 100%;
  padding: 0 20px;
  justify-content: space-between;
  gap: 20px;
}

.custom_footer_content .contact_info,
.custom_footer_content .services {
  flex: 1;
}

.custom_footer_content .logo {
  flex: 1;
  text-align: center;
}

.logo img {
  width: 110px;
  margin-bottom: 10px;
}

.logo p {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 15px;
}

.social_icons {
  display: flex;
  justify-content: center;
  gap: 15px;
}

.social_icons a img {
  width: 30px;
  height: 30px;
}

.contact_info h3,
.services h3 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 15px;
  color: red;
}

.contact_info p,
.services p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 15px;
}

.contact_info a {
  color: #ffffff;
  text-decoration: none;
}

.contact_info a:hover {
  text-decoration: underline;
}

.map-container iframe {
  width: 100%;
  height: 200px;
  border: none;
}

/* Responsive cho thiết bị di động */
@media (max-width: 768px) {
  .custom_footer_content {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .custom_footer_content .contact_info,
  .custom_footer_content .services,
  .custom_footer_content .logo {
    flex: none;
    width: 100%;
    margin-bottom: 20px;
  }

  .contact_info h3,
  .services h3 {
    font-size: 20px;
  }

  .contact_info p,
  .services p {
    font-size: 14px;
  }

  .logo img {
    width: 90px;
  }

  .logo p {
    font-size: 20px;
  }

  .social_icons {
    gap: 10px;
  }

  .social_icons a img {
    width: 25px;
    height: 25px;
  }
}
/* Phần Copyright và Design by */
.copyright {
  display: flex;
  justify-content: space-between; /* Căn đều giữa trái và phải */
  align-items: center; /* Căn giữa theo chiều dọc */
  padding: 2px 0; /* Khoảng cách trên dưới */
  background-color: #034ea2; /* Màu nền */
  color: white; /* Màu chữ */
  font-size: 0.9em; /* Kích thước chữ nhỏ */
}

.copyright .left {
  margin-left: 20px; /* Thêm khoảng cách cho phần bên trái */
}

.copyright .right {
  margin-right: 20px; /* Thêm khoảng cách cho phần bên phải */
}

.copyright p {
  margin-top: 5px;
  margin-bottom: 5px;
  margin-right: 50px;
  margin-left: 50px;
}
.copyright a {
  color: #ffffff; /* Màu chữ của liên kết */
  font-weight: bold;
  text-decoration: none; /* Loại bỏ gạch chân của liên kết */
}

.copyright a:hover {
  color: red; /* Thay đổi màu khi hover */
}

/* Đối với màn hình nhỏ */
@media (max-width: 768px) {
  .copyright {
    width: 99.7%;
    flex-direction: column; /* Căn dọc khi ở màn hình nhỏ */
    text-align: center; /* Căn giữa nội dung */
  }

  .copyright .left,
  .copyright .right {
    margin: 5px 0; /* Khoảng cách trên dưới khi căn dọc */
  }
}
