/* Base Styles & Mobile-First Approach */

/* Universal Box Sizing */

html {
  box-sizing: border-box;
}

/* Body and Typography */
body {
  font-family: Arial, sans-serif;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  background-color: #f4f4f4;
  color: #333;
}

/* Main Page Wrapper */
#page {
  position: relative;
  max-width: 100%;      /* or 100%, but not both */
  margin: 0 auto;
}


/* Header & Navigation */
header {
  background-color: #004d99;
  color: white;
  padding: 1rem;
  text-align: center;
  
}

header nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;          /* ← set this to your real nav height */
  background-color: rgba(7,28,70,0.47);
}

/* Change header from a fixed height to auto or min-height */
header {
  min-height: 480px;          /* keeps your old visual without clipping */
  overflow: visible;          
}



.logo span {
  display: none; /* Hide text for accessibility, logo will be a background image */
}

header .hero {
  position: absolute;
  top: 100px;
  left: 60%;
  transform: translateX(-50%);
  width: 70%;
  z-index: 2;
}
header .hero {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 130px;    /* or whatever final height you want */
}


.hero {
  padding: 20px 20px 20px 20px;
   color: #FFF;
}

.hero__container {
    width:80%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 1rem;
}

.hero h1 {
  font-size: 1.5rem;
  margin-bottom: 1.5em;
  width: 75%;
}

.hero h1 {
  width: 100%;      /* full width */
  max-width: none;  /* remove any cap */
  margin: 0 0 1em;/* adjust vertical spacing as needed */
  text-align: center; /* optional centering of text */
}


.btn, .btn1 {
  display: inline-block;
  background-color: #333;
  color:#ffcc00;
  padding: 0.75rem 1.5rem;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  text-transform: uppercase;
  margin-top: 0.75rem;
}

header nav {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;                                /* fixed height for centering */
  background-color: rgba(7, 28, 70, 0.47);
  padding: 0;                                  /* remove extra top padding */
  display: flex;                               /* enable flex centering */
  align-items: center;                         /* vertical centering of children */
  justify-content: center;                     /* horizontal centering */
}

nav {
    background-color: rgba(7, 28, 70, 0.47);
    position: absolute;
    padding: 10px 0 0 0 ;
    width: 100%;
}

nav::after {
    content:'';
    display:block;
    clear:both;
}

header nav > ul {
  list-style: none;           /* no default bullets */
  margin: 0;                  /* reset browser margin */
  padding: 0;                 /* reset browser padding */
  display: flex;              /* lay out <li> in a row */
  gap: 2rem;                  /* spacing between items */
  justify-content: center;    /* optional redundancy */
  align-items: center;        /* vertical align if <li> contains multiple lines */
}

header nav > ul > li {
  /* if you want extra click area or separation */
  margin: 0;
}

header nav a {
  color: #fff;
  text-decoration: none;
  padding: 0.5rem 1rem;
  display: block;             /* makes the entire padding area clickable */
}

header nav a:hover {
  background-color: rgba(255,255,255,0.1);
}

nav ul li:hover{
    background-color: #18569c;
}

nav ul li:hover > ul {
    display: block;
}

nav ul li a {
    display: inline-block;
    color: #fff;
    padding: 10px 20px;
    text-decoration: none;
    width: 125px;
    position: relative;
}

nav ul li a:visited {
    color: #fff;
}

nav ul li a:hover {
    background-color:#5d94bc;
}

nav ul ul {
    position: absolute;
    top: 100%;
    background-color: #0b283d9d;
    display: none;
}

nav ul ul li {
    position: relative;
}

nav ul ul ul {
    left: 100%;
    top: 0;
}
    
/* Navigation - Top Level */

nav > ul {
    padding-left: 200px;
}

nav > ul > li {
    float: left;
}

nav > ul > li > a {
    width: auto;
    padding: 10px 20px 15px 20px;
}


av a[aria-haspopup="true"]::after {
    content:'';
    display: block;
    width: 0px;
    height: 0px;
    position: absolute;
    top: 165px;
    right: 15px;
    /* create an arrow */
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #fff;
}

nav > ul > li > a[aria-haspopup="true"]::after {
    /* CSS for down pointing arrow*/
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #fff;
    left: 20px;
    right: auto;
    bottom: 6px;
    top: auto;
}

/* 1. Define nav height as a variable so it’s easy to reuse */

:root {
  --nav-height: 60px;
  --hero-gap: 40px;   /* space between nav and hero */
}

/* 2. One single, clean rule for .hero */
header .hero {
  position: absolute;
  top: calc(var(--nav-height) + var(--hero-gap));
  left: 50%;
  transform: translateX(-50%);
  
  width: 80%;
  max-width: 1200px;    /* optional, keeps your hero from growing too wide */
  
  height: 130px;        /* pick whatever fixed height you need */
  /* -- or for a full‐viewport minus nav:
     height: calc(100vh - var(--nav-height)); 
  */
  
  padding: 20px;        /* inner padding so your content isn’t glued to the edges */
    color: #FFF;
  z-index: 2;

}


/* Main Content Sections */
section {
  padding: 1rem 0;
}

.story-article {
  display: flex;
  flex-direction: column; /* Stack on mobile */
  gap: 1rem;
}

.story-article img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}

.story-article .content,
.story-article .text {
  flex: 1;
}



/* 2. Page layout */
#page {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

section.story1 {
  padding: 0 0;  /* or whatever you prefer */
}

section.story1 .container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1rem;
  
  text-align: center;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);

  padding:0px 0px 0px 10px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

@media (max-width: 600px) {
  section.story1 .container {
    flex-direction: column;
    padding: 1rem;
  }
}


/* Responsive images and videos */
img, iframe {
  max-width: 100%;
  height: 100%;
}

/* Aspect ratio for iframe to prevent stretching */
.video {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#movie_player .ytp-cued-thumbnail-overlay {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.section, .section1, .section2 {
  background-color: white;
  padding: 1rem;
  border-radius: 5px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

section.story1 article {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;

  background-color: rgb(7, 28, 70);
  color: #fff;

  /* padding: top, right, bottom, left */
  padding: 30px 1rem 20px 1rem;

  /* ensure it doesn’t overflow */
  width: 100%;
}


.highlight {
  font-weight: bold;
  color: #004d99;
}

.sub-header {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: 1rem;
  color: #004d99;
}

/* Footer */
.footer {
  color: white;
  padding: 1rem;
  text-align: center;
  display: flex;
  flex-direction: column; /* Stack on mobile */
  align-items: center;
  gap: 1rem;
}

.footer img {
  width: 50px;
  height: auto;
}

.footer-center a img {
  margin: 0 0.5rem;
}

/* Hide the duplicate <footer> tag from the HTML */
footer:not(.footer) {
  display: none;
}
/* Media Queries for Tablet and Desktop */

/* Tablet View (600px and up) */
@media (min-width: 600px) {
  
  nav ul {
    flex-direction: row;
    justify-content: center;
  }
  
  nav li:hover > ul {
    display: block; /* Show sub-menu as a dropdown on hover */
    position: absolute;
    z-index: 100;
  }
  
  nav ul ul li {
    width: 200px; /* Adjust dropdown width as needed */
  }

  .story-article {
    flex-direction: row; /* Side-by-side layout for text and image */
  }

  .story1 .container {
    flex-direction: row; /* Side-by-side layout for sections */
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .section, .section1, .section2 {
    flex: 1 1 300px; /* Allow items to grow and shrink, with a base width of 300px */
  }

  .footer {
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
  }
  
  .footer-left, .footer-center, .footer-right {
    flex-basis: 33%;
  }
}

/* Desktop View (900px and up) */
@media (min-width: 900px) {
 
}