/* --- Add these new styles to your existing style.css file --- */

/* Main Page Layout */
.page-container {
    display: flex;
    flex-wrap: wrap; /* Allows sidebar to wrap to the next line on small screens */
    gap: 2rem;
    padding: 2rem;
}

.main-content {
    flex: 3; /* Main content takes up 3 parts of the space */
    min-width: 300px; /* Prevents content from getting too squished */
}

.sidebar {
    flex: 1; /* Sidebar takes up 1 part of the space */
    min-width: 280px;
}

/* Sidebar Widget Styling */
.widget {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.widget-title {
    font-size: 1.2rem;
    color: #004080;
    margin-top: 0;
    margin-bottom: 1rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #d3e2f1;
}

.widget ul {
    list-style-type: '» '; /* Using a chevron-like bullet */
    padding-left: 1.2rem;
    margin: 0;
}

.widget ul li {
    margin-bottom: 0.75rem;
    padding-left: 0.5rem;
}

.widget ul li a {
    text-decoration: none;
    color: #0056b3;
    font-weight: 500;
}

.widget ul li a:hover {
    text-decoration: underline;
}


/* Responsive Design for smaller screens */
@media (max-width: 992px) {
    .page-container {
        flex-direction: column;
    }

    /* Make main content and sidebar take full width on smaller screens */
    .main-content, .sidebar {
        flex: 1 1 100%;
    }
}


/* --- Existing styles below --- */
body {
  font-family: 'Roboto', sans-serif;
  margin: 0;
  padding: 0;
  background-image: url('DSC_4521.jpg');
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center;
  color: #333;
}
.container {
      display: flex;
      align-items: flex-start;
      gap: 20px; /* space between image and text */
      max-width: 900px;
      margin: 2rem auto;
      padding: 1rem;
      background-color: white;
      border-radius: 10px;
    }

    .text {
      flex: 1;
      font-size: 1rem;
      line-height: 1.5;
    }

    .figure {
      flex: 1; /* Changed to 1 to allow text to take more space */
    }

    .figure img {
      max-width: 100%;
      height: auto;
      border-radius: 8px;
    }

    .figure figcaption {
      font-size: 0.9rem;
      text-align: center;
      margin-top: 0.5rem;
    } 

 .content-wrapper {
  background-color: rgba(255, 255, 255, 0.96);
  max-width: 1100px;
  margin: auto;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  padding-bottom: 1rem;
}

header {
  background-image: url('DOT.jpg');
  background-size: cover;
  background-position: center;
  color: white;
  padding: 4rem 2rem;
  text-align: center;
  position: relative;
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}

.header-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1200px;
  margin: auto;
  flex-wrap: wrap;
}

.header-text {
  flex: 1;
  text-align: center;
}

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

@media (max-width: 600px) {
  .header-container {
    flex-direction: column;
  }

  .logo {
    height: 60px;
    margin-bottom: 1rem;
  }

  .header-text {
    margin-bottom: 1rem;
  }

  /* Adjustments for dropdown on small screens */
  nav {
    flex-direction: column;
    align-items: center; /* Center items in column layout */
  }

  nav a {
    margin: 0.5rem 0;
  }

  .dropdown .dropbtn {
    width: 100%; /* Make dropdown button full width */
  }

  .dropdown-content {
    position: static; /* Allow content to flow naturally */
    width: 100%;
    box-shadow: none;
    background-color: #004080; /* Match nav background */
  }

  .dropdown-content a {
    padding: 0.5rem 1rem;
    text-align: center;
  }
}

/* header h1 {
  margin: 0;
  font-size: 2.05rem;
} */
header h1 {
  margin: 0;
  font-size: 2.5rem;
  text-transform: uppercase;
  font-weight: bold;
  letter-spacing: 1px;
}


/* Navigation Bar Styles */
nav {
  background-color: #004080;
  display: flex;
  justify-content: center;
  padding: 0.5rem;
  position: relative; /* Needed for dropdown positioning */
  z-index: 1000; /* Ensure nav is above other content */
}

nav a {
  color: white;
  text-decoration: none;
  padding: 0.5rem 1.5rem; /* Increased padding for better click area */
  font-weight: 500;
  display: block; /* Make links block-level for padding */
}

nav a:hover,
.dropdown:hover .dropbtn {
  text-decoration: underline;
}

/* Dropdown Container */
.dropdown {
  position: relative;
  display: inline-block; /* Allows side-by-side with other nav items */
}

/* Dropdown Button */
.dropdown .dropbtn {
  font-size: 1rem;
  border: none;
  outline: none;
  color: white;
  padding: 0.5rem 1.5rem;
  background-color: inherit;
  font-family: 'Roboto', sans-serif;
  font-weight: 500;
  margin: 0;
  cursor: pointer;
}

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #003366; /* Slightly darker background for dropdown items */
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
  border-radius: 4px;
  overflow: hidden; /* Ensures rounded corners apply to content */
}

/* Links inside the dropdown */
.dropdown-content a {
  color: white;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

/* Change color of dropdown links on hover */
.dropdown-content a:hover {
  background-color: #0056b3; /* Lighter blue on hover */
  text-decoration: none; /* Remove underline on hover for dropdown items */
}

/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
  display: block;
}


main {
  padding: 2rem;
  max-width: 1000px;
  margin: auto;
}

section {
  margin-bottom: 3rem;
}

section h2 {
  color: #004080;
  border-bottom: 2px solid #d3e2f1;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}

footer {
  background-color: #003366;
  color: white;
  padding: 5px;
  text-align: center;
  border-radius: 0 0 0 0;
}

/* Styling for blog post content */
.post-content {
  line-height: 1.8;
}

.post-content h1, .post-content h2, .post-content h3 {
  color: #004080;
  margin-top: 1.5rem;
  margin-bottom: 1rem;
}

.post-content p {
  margin-bottom: 1rem;
}

.post-content a {
  color: #0056b3;
  text-decoration: none;
}

.post-content a:hover {
  text-decoration: underline;
}

.post-content ul, .post-content ol {
  padding-left: 20px;
}

.back-link {
  display: inline-block;
  margin-top: 2rem;
  color: #004080;
  text-decoration: none;
  font-weight: 500;
}

.back-link:hover {
  text-decoration: underline;
}

/* --- Add these new styles for the FAQ page --- */

.faq-container {
    max-width: 800px;
    margin: 2rem auto;
}

.faq-item {
    border-bottom: 1px solid #d3e2f1;
    margin-bottom: 1rem;
}

.faq-question {
    font-size: 1.1rem;
    font-weight: 500;
    color: #004080;
    padding: 1rem 0;
    cursor: pointer;
    position: relative;
    list-style: none; /* Remove default marker */
}

.faq-question::-webkit-details-marker {
    display: none; /* Hide the default triangle in Chrome/Safari */
}

/* Custom open/close icon */
.faq-question::after {
    content: '+';
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5rem;
    font-weight: 300;
    color: #0056b3;
    transition: transform 0.2s ease-in-out;
}

.faq-item[open] .faq-question::after {
    content: '−';
    transform: translateY(-50%) rotate(180deg);
}

.faq-answer {
    padding: 0 1rem 1.5rem 1rem;
    line-height: 1.7;
    color: #333;
}

.faq-answer p {
    margin: 0;
}

.faq-answer a {
    color: #0056b3;
    font-weight: 500;
}

/* gallery style */
.gallery-container {
  position: relative;
  max-width: 900px;
  margin: 2rem auto;
  box-shadow: 0 0 12px rgba(0,0,0,0.3);
  border-radius: 10px;
  overflow: hidden;
  background-color: #fff;
}

.gallery-slide {
  display: none;
  text-align: center;
}

.gallery-slide img {
  width: 100%;
  height: auto;
  border-bottom: 1px solid #ccc;
}

.caption {
  padding: 1rem;
  font-size: 1rem;
  background-color: #f5f5f5;
  color: #333;
}

.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 45%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  background-color: rgba(0,0,0,0.4);
  font-weight: bold;
  font-size: 24px;
  border-radius: 0 3px 3px 0;
  user-select: none;
  transition: 0.3s;
}

.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

.search-bar {
  text-align: center;
  margin: 1rem auto;
}

#searchInput {
  padding: 0.5rem;
  width: 60%;
  font-size: 1rem;
  border-radius: 5px;
  border: 1px solid #ccc;
}
        .input-grid { 
            display: grid; 
            grid-template-columns: auto 1fr; 
            gap: 1em; 
            align-items: center; 
            max-width: 500px; 
            margin-top: 1.5em;
        }
        .input-grid label { 
            font-weight: bold; 
            text-align: right;
        }
        .input-grid input, .input-grid select {
            padding: 8px;
            border: 1px solid #ccc;
            border-radius: 4px;
            width: 100%;
        }
        #run-button { 
            font-size: 1.1em; 
            padding: 0.5em 1em; 
            margin-top: 1.5em; 
            cursor: pointer;
            background-color: #333;
            color: white;
            border: none;
            border-radius: 5px;
        }
        #run-button:hover {
            background-color: #555;
        }
