* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

.overflow-auto {
  overflow: auto;
}

.select-container {
  position: fixed;
  top: 5px;
  width: 200px;
  left: 50%;
  transform: translateX(-50%); /* Center the select container */
  z-index: 1000;
}

body {
  overflow: hidden; /* Prevent body scrolling when modal is open */
}

#map {
  height: 100vh;
  width: 100%;
}

/* Country Info Flag */
#countryInfoFlag {
  margin: -10px auto 0; /* Keeps the same margin settings */
  width: 75%; /* Responsive width */
  max-height: 300px; /* Limit the height for larger screens */
  display: block; /* Ensure it behaves as a block element */
  border-radius: 15px; /* Adds rounded corners */
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); /* Adds a soft shadow */
  transition: transform 0.3s; /* Smooth transition for hover effect */
}

#countryInfoFlag:hover {
  transform: scale(1.05); /* Slightly enlarge on hover */
}



/* News Images */
.newsImage {
  width: 100%; /* Full width of the container */
  height: auto; /* Maintain aspect ratio */
  max-width: 200px; /* Maximum width */
  display: block;
  margin: 0 auto; /* Center the image */
  border-radius: 10px; /* Rounded corners */
  transition: transform 0.3s; /* Smooth transition */
}

.newsImage:hover {
  transform: scale(1.05); /* Slightly enlarge on hover */
}

/* Style the news titles */
.newsTitle {
  font-weight: bold;
  font-size: 1.1em;
  padding: 10px 0;
  text-align: left;
}

/* Style the news sources */
.newsSource {
  color: gray;
  font-size: 0.9em;
  text-align: left;
}

/* General table styling */
.table {
  width: 100%;
  margin: 0;
  background-color: #ffffff; /* White background for the table */
  border-radius: 10px; /* Rounded corners */
  overflow: hidden; /* To ensure rounded corners apply */
  border-collapse: collapse; /* Ensure borders collapse into a single border */
}

.table th,
.table td {
  border: none; /* Remove borders from table cells */
  padding: 10px; /* Adjust padding as needed */
}

/* Header Styles */
.table th {
  background-color: #fbfbfb; /* Header background color */
  color: #000000; /* Set text color for header */
}

/* Modal Styles */
.modal-body {
  padding: 20px; /* Increased padding for readability */
  background-color: #f9f9f9; /* Light background color */
}

#modal-title {
  text-align: center;
  width: 100%;
}

.modal-header {
  background-color: #16282e; /* Dark header */
  color: #fff; /* White text color */
  border-bottom: none; /* Remove border */
  display: flex; /* Align items in the header */
  align-items: center;
  justify-content: center; /* Center the title */
}

.modal-title {
  font-size: 1.75rem; /* Larger title font */
}

/* Modal Footer */
.modal-footer {
  display: flex;
  justify-content: flex-end; /* Align close button to the right */
  background-color: #f0f0f0; /* Light gray footer */
}

/* News Table Styles */
.news-table {
  margin-bottom: 20px; /* Space between tables */
}

/* Header Styles */
.news-table th {
  background-color: #e0f7fa; /* Light cyan */
  color: #00796b; /* Darker teal color */
  padding: 15px; /* Add padding */
  text-align: center; /* Center align */
}

/* Cell Styles */
.news-table td {
  padding: 10px; /* Padding for cells */
  border: 1px solid #ddd; /* Light gray border */
}

/* Weather Icon Styles */
.weather-icon {
  width: 120px; /* Set width */
  height: 120px; /* Set height */
  margin-bottom: 15px; /* Space below the icon */
  border-radius: 50%; /* Circular icon */
  background-color: rgba(255, 255, 255, 0.8); /* Semi-transparent background */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* Soft shadow */
  transition: transform 0.3s; /* Smooth hover effect */
}

.weather-icon:hover {
  transform: scale(1.1); /* Enlarge on hover */
}

/* Modal Body for Wiki Info Modal */
#wikiInfomodal .modal-body {
  max-height: 400px;
  overflow-y: auto;
  text-align: justify;
}


.newsSection {
  margin-top: 20px;
  padding: 10px;
  border-radius: 10px;
  background-color: #f8f9fa; /* Default background for sections */
}

/* Specific Background Colors for Sections */
.breaking-news {
  background-color: #ff0101; /* Yellow for Breaking News */
}

.additional-headlines {
  background-color: #d6d6d6; /* Red for Additional Headlines */
}

/* Centering Titles and Cards */
.newsHeading {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center; /* Center title */
  margin-bottom: 10px;
}

.newsCard {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 10px;
  margin-bottom: 10px;
  background-color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.newsCard img.newsImage {
  width: 120px; /* Increase image size */
  height: auto;
  border-radius: 5px;
}

.newsCard .ms-3 {
  margin-left: 15px;
  flex: 1;
}

.newsTitle {
  font-size: 1.1rem;
  font-weight: bold;
  color: #000;
  text-decoration: underline;
  margin-bottom: 5px;
}

.newsSource {
  font-size: 1rem;
  color: #777;
}

.newsTable a {
  text-decoration: underline !important;
  color: #000 !important;
}

.newsTable a:hover {
  color: #000 !important;
  text-decoration: underline !important;
}

/* Mobile Responsiveness */
@media (max-width: 576px) {
  .newsImage {
      max-width: 100%;
      height: auto;
  }

  .newsTitle, .newsSource {
      text-align: center;
      font-size: 1em;
  }
}

/* Preloader Style */
#preloader {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  z-index: 9999;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 5px solid rgb(255, 255, 255);
}

.loader {
  border: 8px solid #f3f3f3;
  border-top: 8px solid #3498db;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


.custom-modal-header {
  background-color: #16282e; /* Dark header */
  color: #fff;
}


/* Disable the loading of default marker images */
.leaflet-marker-icon {
  background-image: none !important;
}

.leaflet-marker-shadow {
  background-image: none !important;
}

.leaflet-extra-markers-icon {
  background-image: none !important;
}


/* Resize the weather icons */
.weather-icon-small {
  width: 40px;  /* Adjust the size as needed */
  height: 40px;
}

/* Flexbox layout to align the icon and weather info */
.d-flex {
  display: flex;
  align-items: center;  /* Align items vertically */
}

.me-3 {
  margin-right: 15px;  /* Add spacing between icon and text */
}

.modal-body .d-flex div {
  display: flex;
  flex-direction: column;  /* Stack temperature and condition vertically */
}


.today-section {
  background-color: #ffcc00; /* Yellow for today */
  color: #333;
  border-radius: 10px;
  padding: 15px;
}

.tomorrow-section {
  background-color: #00bfff; /* Sky Blue for tomorrow */
  color: #fff;
  border-radius: 10px;
  padding: 15px;
}

.day-after-tomorrow-section {
  background-color: #32cd32; /* Lime Green for day after tomorrow */
  color: #fff;
  border-radius: 10px;
  padding: 15px;
}

.weather-icon-small {
  width: 50px; /* Adjust the icon size */
  height: 50px;
}


h6 {
  font-weight: bold;
}

.d-flex i {
  font-size: 1.2em; /* Icon size */
}

#modal-city-country {
  color: white; /* Ensure text is white */
  font-size: 16px; /* Adjust the size as necessary */
  font-weight: bold; /* Optional: Make the text bold */
}

.modal-header {
  display: flex; /* Use flexbox for positioning */
  justify-content: space-between; /* Align text on the left and button on the right */
  align-items: center; /* Ensure items are vertically centered */
}
/* Custom background colors for weather blocks */
.today-weather {
  background-color: #6ca2d1; /* Light blue for today */
  border-radius: 10px; /* Optional: Add rounded corners */
  padding: 10px;
}

.tomorrow-weather {
  background-color: #ffebcd; /* Light beige for tomorrow */
  border-radius: 10px; /* Optional: Add rounded corners */
  padding: 10px;
}

.day-after-tomorrow-weather {
  background-color: #e0ffe0; /* Light green for the day after tomorrow */
  border-radius: 10px; /* Optional: Add rounded corners */
  padding: 10px;
}

/* Optional: Add hover effect to change the background on hover */
.today-weather:hover,
.tomorrow-weather:hover,
.day-after-tomorrow-weather:hover {
  opacity: 0.9;
}
