/*
Name: Leo Newton
Date: 11/27/24
File Name: style.css
Description: This stylesheet controls the appearance of all pages on the website.
*/

/* Import Google Font (Roboto in this example) */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');

body {
    font-family: 'Roboto', sans-serif;  /* Use the imported font */
    line-height: 1.6;
    margin: 0; /* Remove default body margins */
    padding: 0 20px; /* Add some horizontal padding to the main content */
    background-color: #f4f4f4; /* Light gray background */
    color: #333;
}

header {
    background-color: #333;
    color: white;
    padding: 20px;
    text-align: center; /* Center the header content */
}

h1, h2, h3 {
    font-family: 'Roboto', sans-serif;
    color: #333; 
}

h1 {
    font-size: 2.5em;
    margin-bottom: 0.5em;
}

h2 {
  font-size: 2em;
}


nav ul {
    list-style: none;
    padding: 0;
    margin: 20px 0; /* Space below the navigation */
    background-color: #eee; /* Light gray background for navigation */
    text-align: center; /* Center the navigation links */

}

nav li {
    display: inline;  /* Make list items horizontal */
    margin: 0 10px; /* Space between list items */
}

nav a {
    text-decoration: none;
    color: #333;
    padding: 10px; /* Add padding to the links for better clicking area */
}

nav a:hover {
    background-color: #ddd; /* Lighter gray on hover */
}

nav a:visited {
  color: purple;
}

nav a.current { /* Style for the currently active page link */
    font-weight: bold;
    background-color: #ccc; /* Slightly darker gray for current page */
}



footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px;
    font-size: 0.8em;
    position: fixed; /* Makes the footer stick to the bottom */
    bottom: 0;
    width: 100%; /* Ensure footer spans full width */

}

article {
    padding: 20px;  /* Give the article content some padding */
    background-color: #fff; /* White background for the main content area */
    margin-bottom: 20px; /* Add spacing between articles */

}

img {
  max-width: 100%; /* Make images responsive */
  height: auto;
}
/* Table Styles (for About Me page) */
table {
    width: 100%;
    border-collapse: collapse; /* Collapse borders for a cleaner look */
    margin-bottom: 20px; /* Add some space below the table */
}

th, td {
    border: 1px solid #ddd; /* Light gray border */
    padding: 8px;
    text-align: left;
}

th {
    background-color: #f2f2f2; /* Light gray background for table headers */
}

/* Gallery Page - Two Dynamic Width Columns */
.gallery-columns {
    display: flex;
    flex-wrap: wrap; /* Allow columns to wrap on smaller screens */
    justify-content: space-between; /* Space between columns */
}

.gallery-column {
    flex-basis: 48%; /* Each column takes roughly half the width */
    box-sizing: border-box; /* Include padding and border in the width calculation */
    padding: 10px;
}


/* Contact Me Page - Multiple Rows */
.contact-row {
    margin-bottom: 15px;
}

/* Homepage - Rows and Columns */
.homepage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); /* Responsive columns */
    grid-gap: 20px;  /* Spacing between grid items */
}

.homepage-item {
    background-color: #fff;
    padding: 20px;
}

/* Liquid Layout for header, navigation, and footer */
header, nav, footer {
    width: 100%; /* Full width */
    box-sizing: border-box; /* Include padding in width */
}