:root {
    --green: #007847;
    --l-green: #04AA6D;
    --yellow: #ffd100;
    --black: #000;
    --white: #fff;
    --grey: #8c8b8b;
    --red: #d72638;
    --purple: #6a0dad;
    --light-bg: #fefefe;
    --dark-bg: #121212;
    --font-main: "Segoe UI" "Open Sans", sans-serif;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    font-family: var(--font-main);
    background-color: var(--light-bg);
    color: var(--black);
    margin: 0;
    padding: 0;
    line-height: 1.6;
}

h1 {
    font-size: 2.5em;
    color: var(--green);
    margin-bottom: 0.5em;
}

h2 {
    font-size: 2em;
    color: var(--l-green);
    margin-bottom: 0.5em;
}

footer {
    text-align: center;
    padding: 1em;
    background-color: var(--green);
    color: var(--white);
}

/*---------- INDEX.HTML ----------*/
header {
    /* background: linear-gradient(90deg, var(--green), var(--yellow)); */
    padding: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

/* 2025 Adustments - Start */
.topnav {
    background-color: var(--green);
    overflow: hidden;
}
/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 20px;
}
/* Add an active class to highlight the current page */
.active {
  /* background-color: #04AA6D; */
  color: white;
}
/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}
/* Dropdown container - needed to position the dropdown content */
.dropdown {
  float: left;
  overflow: hidden;
}
/* Style the dropdown button to fit inside the topnav */
.dropdown .dropbtn {
  font-size: 17px;
  border: none;
  outline: none;
  color: white;
  padding: 14px 16px;
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}/* Style the dropdown content (hidden by default) */
.dropdown-content {
  display: none;
  position: absolute;
  background-color: #f9f9f9;
  min-width: 160px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1;
}
/* Style the links inside the dropdown */
.dropdown-content a {
  float: none;
  color: black;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}
/* Add a dark background on topnav links and the dropdown button on hover */
.topnav a:hover, .dropdown:hover .dropbtn {
  /* background-color: #555; */
  color: white;
}

/* Add a grey background to dropdown links on hover */
.dropdown-content a:hover {
  background-color: #ddd;
  color: black;
}

/* Show the dropdown menu when the user moves the mouse over the dropdown button */
.dropdown:hover .dropdown-content {
  display: block;
}
/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */
@media screen and (max-width: 600px) {
  .topnav a:not(:first-child), .dropdown .dropbtn {
    display: none;
  }
  .topnav a.icon {
    float: right;
    display: block;
  }
}
/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
  .topnav.responsive {position: relative;}
  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }
  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
  .topnav.responsive .dropdown {float: none;}
  .topnav.responsive .dropdown-content {position: relative;}
  .topnav.responsive .dropdown .dropbtn {
    display: block;
    width: 100%;
    text-align: left;
  }
}
/* 2025 Adustments - End */




nav a {
    margin-right: 1em;
    text-decoration: none;
    color: var(--black);
    font-weight: bold;
    transition: color 0.3s;
}

.dark-theme nav a {
    color: var(--yellow);
}

nav .active {
    color: var(--purple);
    /* background-color: #04AA6D; */
}

a:hover {
    background-color: var(--l-green);
}
.dropdown:hover{
    background-color: var(--l-green);
}

.dark-theme nav .active {
    color: var(--yellow);
    font-weight: bold;
}

nav button {
    /* background: var(--red); */
    border: none;
    padding: 0.4em 0.6em;
    color: var(--white);
    cursor: pointer;
    font-size: 1em;
    border-radius: 4px;
}

/* Hero Section */
.hero {
    background-size: cover;
    background-position: center;
    background-image: url('imgs/saint-joe.jpeg');
    background-repeat: no-repeat;
    background-attachment: scroll;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 2em;
    color: var(--white);
    height: 100vh;
}

.hero img {
    max-height: 100%;
    max-width: 45%;
    margin-top: 30px;
    height: auto;
    border-radius: 50%;
    opacity: 0.5;
}

@media screen and (max-width: 600px) {
    home img {
        max-width: 160px;
        height: auto;
    }
}

.hero-content h1 {
    font-size: 3em;
    margin-bottom: 0.5em;
    text-shadow: 2px 2px 4px rgba(0, 0  , 0, 0.5);
}

.hero-content p, blockquote {
    font-size: 1.5em;
    line-height: 1.5em;
    font-style: bold;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

.hero-content blockquote {
    font-size: 1.5em;
    line-height: 1.5em;
    font-style: italic;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}

/* ABOUT.HTML */
.about-h2 {
    font-size: 2.5em;
    color: var(--green);
    margin-bottom: 0.5em;
    text-align: center;
}
.about-text {
    font-size: 1.5em;
    line-height: 1.6;
    margin: 1em 0;
    padding: 0 1em ;
    color: var(--black);
}

section p {
    font-size: 1.5em;
    line-height: 1.6;
    margin: 1em 0;
    color: var(--black);
}

.section ul {
    font-size: 1.3em;
    list-style-type: disc;
    padding-left: 1.5em;
    margin: 1em 0;
    color: var(--grey);
}
.flag {
    width: 50%;
    height: auto;
    display: flex;
    margin: 40px auto;
    border-radius: 12em;
}

@media screen and (max-width: 600px) {
    .flag {
        width: 90%;
        height: auto;
    }
    .about-text {
        font-size: 1.2em;
        padding: 0 1.2em;
    }
}

/*---------- ANCESTRAL-TRIBUTE.HTML ----------*/
main {
    padding: 1.5em;
    max-width: 960px;
    margin: auto;
    background-color: rgba(255, 255, 255, 0.95);
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.dark-theme main {
    background-color: rgba(18, 18, 18, 0.95);
    color: var(--white);
}

.intro {
    text-align: center;
    margin-bottom: 2em;
}

.intro .quote {
    font-style: italic;
    color: var(--purple);
    margin: 1em 0;
}

.section {
    margin-bottom: 2em;
}

.symbol, .decor {
    text-align: center;
    margin-top: 1em;
}

.symbol img, .decor {
    max-width: 50%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    margin: 0.5em;
}

.symbol figcaption {
    font-size: 0.9em;
    color: var(--purple);
    margin-top: 0.5em;
    font-weight: bold;
}

ul {
    list-style-type: disc;
    padding-left: 1.5em;
}

blockquote {
    border-left: 4px solid var(--green);
    padding-left: 1em;
    margin: 1.5em 0;
    font-style: italic;
    color: var(--purple);
    background-color: #f4f4f4;
    border-radius: 4px;
}
/* Dark Theme Styles */
.dark-theme {
  --background-color: #121212;
  --text-color: #f0f0f0;
  --link-color: #bb86fc;
  --nav-background: #1f1f1f;
  --footer-background: #1f1f1f;
}

body.dark-theme {
  background-color: var(--background-color);
  color: var(--text-color);
}

.dark-theme a {
  color: var(--link-color);
}

.dark-theme .topnav {
  background-color: var(--nav-background);
}

.dark-theme footer {
  background-color: var(--footer-background);
}





.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5em;
  padding: 2em;
}

.gallery figure {
  margin: 0;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  text-align: center;
}

.gallery img {
  width: 100%;
  height: auto;
  display: block;
}

.gallery figcaption {
  padding: 0.5em;
  font-size: 1em;
  color: var(--grey);
}

/* Sticky Header */
header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: var(--ld-bkgd);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
}

/* Skip to Content Link */
.skip-link {
  position: absolute;
  top: -40px;
  left: 0;
  background: #000;
  color: #fff;
  padding: 8px 12px;
  z-index: 1001;
  text-decoration: none;
  transition: top 0.3s;
  font-size: 1rem;
}
.skip-link:focus {
  top: 0;
}

/* Theme Toggle Position */
.theme-toggle {
  position: absolute;
  top: 12px;
  right: 12px;
  background: none;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
}
