* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* Body */
body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background-color: #f9f9f9;
    color: #333;
}
/* this sets up the header font formats */
#logo {
    font-size: 1.5em; 
    font-weight: bold;
}
header img {
    height: 60px; /* adjust based on your image */
    width: auto;
}
/* Header */
header {
    background-color: #003366;
    color: #fff;
    padding: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header img {
    height: 60px;
}

/* Navigation */
nav {
    background-color: #005599;
    padding: 0 20px; /* space on left & right of the whole nav */
}

nav ul {
    list-style: none;
    display: flex;
    justify-content: center; /* keep items centered as a group  */
    gap: 20px; /* space between menu items */
    margin: 0;
    padding: 0;
}

nav ul li a {
    display: block;
    padding: 15px 20px; /* bigger clickable area */
    color: white;
    text-decoration: none;
}

nav ul li a:hover {
    background-color: #bfcfe0;
}

/* Hero Section */
#homeHero {
    background-color: #8aa5be;
    text-align: center;
    padding: 50px 20px;
}
#homeHero h1 {
    font-size: 2em;
    color: #003366;
}
/* Main Content */
main {
    padding: 40px 20px;
    background-color: white;
}
#mission h1 {
    margin-bottom: 15px;
    color: #005599;
}
#mission p {
    max-width: 800px;
    margin-bottom: 20px;
}
#mission img {
    display: block;
    margin-top: 20px;
}
/* home page heading formatting */
.home-heading h1 {
    text-align: center;
    font-size: 2em; /* adjust if you want it bigger */
    margin: 20px 0;
}
.home-heading {
    background-image: url("images/home-heading.jpg"); 
    background-size: cover;
    background-position: center;
    height: 50vh; /* or whatever height you want */
    
    display: flex;
    justify-content: center;   /* horizontal center */
    align-items: flex-end;     /* push text to bottom */
    
    color: white;
    text-align: center;
    padding-bottom: 20px;      /* space from bottom */
}

/* Hero Section */
#hero {
    background-image: url("images/hero-background.webp"); /* change to your image path */
    background-size: cover;
    background-position: center;
    height: 60vh; /* adjust height as needed */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: white; /* text color */
    padding: 0 20px; /* some side spacing for small screens */
}

#hero h1 {
    font-size: 2.5em;
    max-width: 800px;
    line-height: 1.3;
}
/* Sections */
#contact, #services {
    padding: 30px 20px;
    background-color: #d9ecff;
    text-align: center;
    font-size: 1.2em;
    color: #d9ecff;
}
/* this is to align about */
#about-content ul {
    display: inline-block;  /* shrink the ul to fit content */
    text-align: center;       /* keep bullet text left aligned inside */
    padding-left: 0;        /* remove default left padding */
    list-style-position: inside; /* bullets inside the block */
}
/* this is to format about content */
#about-content {
  max-width: 800px;        /* limits width */
  margin: 0 auto;          /* centers the whole section horizontally */
  text-align: center;      /* centers all inline content inside */
  padding: 40px 20px;      /* some spacing */
}

#about-content p {
  white-space: pre-line;   /* preserves line breaks in your paragraph */
}

#about-image {
  display: block;
  margin: 20px auto 0 auto; /* center image and add top margin */
  max-width: 100%;           /* responsive image */
  height: auto;
}
/* about bacckground */
#about-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px;
  text-align: center;
  
  /* Background image styles */
  background-image: url('images/about.jpg'); /* replace with your actual image path */
  background-size: cover;      /* makes sure the image covers the whole area */
  background-position: center; /* centers the image */
  background-repeat: no-repeat;
  
  /* Optional: add a semi-transparent overlay to make text easier to read */
  position: relative;
  color: white; /* or any contrasting color */
}

#about-content::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0, 0, 0, 0.5); /* black with 50% opacity */
  z-index: 0;
  border-radius: 10px; /* optional, if you want rounded corners */
}

#about-content > * {
  position: relative;
  z-index: 1; /* make sure content is above the overlay */
}


/* service image*/
#services-content {
  text-align: center;
  background-image: url('images/services.png'); /* path to my image */
  background-size: cover;     /* makes sure it covers entire area */
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 20px;         /* add some padding so content isn’t squished */
  color: #ffffff;  /* optional: change text color if needed for contrast */
}
/* contact image*/
#contact {
  text-align: center;
  background-image: url('images/contact.jpg'); /* path to my image */
  background-size: cover;     /* makes sure it covers entire area */
  background-position: center;
  background-repeat: no-repeat;
  padding: 80px 20px;         /* add some padding so content isn’t squished */
  color: #ffffff;  /* this my optional: change text color if needed for contrast */
}
/* colours of contacts text */
#contact h1,
#contact h2,
#contact h3 {
    color: #ffffff; 
}
/* this is for the Visit US text colour */
.visit-us {
    color: white;
}
/* Aligning address alongside each other */
.address-container {
  display: flex;
  gap: 40px;       /* space between addresses */
  flex-wrap: wrap; /* allows stacking on small screens */
}

.address-container address {
  flex: 1;
  min-width: 200px;
}



/* paragraphs under them also change color */
#contact p, 
#contact address {
    color: #ffffff; /* or same color */
}
/* colours of contacts text */
#contact h1,
#contact h2,
#contact h3,
#contact p,
#contact address {
    color: #ffffff /* pure white */
}

/* Make email and phone links white in contacts page */
#contact a[href^="mailto:"],
#contact a[href^="tel:"] {
    color: #ffffff;  /* pure white */
}

/* Make address and paragraph text white */
#contact p,
#contact address {
    color: #ffffff;
}

#info-sections {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 30px 20px;
    background-color: #d9ecff;
}

#info-sections section {
    flex: 1;
    text-align: center;
    font-size: 1.2em;
    color: #8093a5;
    padding: 20px;
    background-color: #ffffff;
    border: 1px solid #ccc;
    border-radius: 8px;
}
main {
    max-width: 800px;
    margin: 0 auto; /* centers horizontally */
    padding: 40px 20px;
    background-color: #ffffff;
}

#mission {
    text-align: center; /* centers text  */
}

#mission img {
    display: block;
    margin: 20px auto;
    max-width: 100%;
    height: auto;
}
/* Footer */
footer {
    background-color: #003366;
    color: white;
    text-align: center;
    padding: 15px;
    font-size: 0.9em;
}

/* This format about image */
#about-image {
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    margin-top: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* this format about contact image */
#map-image {
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.2);
    margin-top: 20px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Call to Action Button added after changing line 48 - 52 in html */
.cta-button {
    display: inline-block;
    margin-top: 20px;
    padding: 15px 30px;
    background-color: #97c41c;
    color: #003366;
    font-weight: bold;
    text-decoration: none;
    border-radius: 8px;
    transition: background-color 0.3s ease;
}
/* This to hover over call and email */
.cta-button:hover {
    background-color: #0d9e38;
}
#contact a {
    color: #005599;           /* Link color to match your contact section */
    text-decoration: none;    /* No underline by default */
    transition: color 0.3s ease;
}

#contact a:hover {
    color: #ffffff;           /* A green shade on hover, consistent with your CTA button */
    text-decoration: underline;
    cursor: pointer;
}
#contact h3 {
    color: #050505; /* gold heading */
}
.address-container h4 {
  color: #ffd700;   /* gold headings to stand out */
  margin-bottom: 8px;
}
.address-container {
  display: flex;
  justify-content: center;   /* centers the whole group */
  gap: 40px;                 /* space between addresses */
  flex-wrap: wrap;           /* stack on small screens */
  margin-top: 20px;
}

.address-container .location {
  flex: 0 0 auto;            /* prevent stretching */
  text-align: center;        /* center text inside each location */
  min-width: 220px;
}

.address-container address {
  color: #ffffff;            /* white text */
  font-style: normal;        /* remove italics */
  line-height: 1.5;
}
.map-link {
  display: inline-block;
  margin-top: 10px;
  color: #ffd700;          /* gold link to stand out */
  text-decoration: none;
  font-weight: bold;
}

.map-link:hover {
  color: #ffffff;          /* white on hover */
  text-decoration: underline;
}
#contact a.map-link {
  display: inline-block;
  margin-top: 10px;
  color: #ffd700 !important;   /* force gold */
  text-decoration: none;
  font-weight: bold;
}

#contact a.map-link:hover {
  color: #ffffff !important;   /* force white on hover */
  text-decoration: underline;
}

#contact p {
    color: #080808; /* dark gray paragraph */
}

#contact a.cta-button {
    color: #4376a7; /* button text color */
}
/* This will target only the Visit Us heading and make it white */
#contact h3.visit-us {
  color: #ffffff;
}