/* General Styles */
body {
    font-family: Tahoma, sans-serif;
    margin: 0;
    padding: 0;
    color: #333;
    background-color: #f3f6f8;
    line-height: 1.6;
}

/* Container for Layout */
.container {
    display: flex;
    flex-direction: row;
    max-width: 1200px;
    margin: 0 auto;
    padding: 1rem;

    flex-wrap: wrap; /* Allows wrapping on smaller screens */
}

/* Left Column Styles */
.left-column {
    /* flex: 0.3; */
    padding-right: 2rem;
    border-right: 1px solid #ddd;
    /* background-color: #eaeef0; */
    text-align: center;

    /* Adjust this value as necessary */
    /* width: 25%;  */
    /* padding: 1rem; */
    /* background-color: #f8f9fa; Light background */
    /* Optional: a subtle shadow */
    /* box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);  */
}

/* Sticky left column on larger screens */
@media screen and (min-width: 768px) { /* Only applies on screens wider than 768px */
    .left-column {
        position: -webkit-sticky; /* For Safari support */
        position: sticky;
        top: 100px; /* Sticks to the top of the viewport */
        /* Makes the left column occupy the full height of the viewport */
        height: 100vh; 
        /* Ensures content inside the left column can be scrolled if necessary */
        overflow: auto; 
    }
}

.headshot {
    width: 150px;
    height: 210px;
    border-radius: 5%;
    object-fit: cover;
    margin-top: 2rem;
    /* margin-bottom: 1rem; */
}

p {
    font-family: Georgia, serif;
}

h1 {
    margin-top: 1rem;
    font-size: 2rem;
    color: #222;
    font-family: Heletica, sans-serif;
}

h2 {
    color: #555;
    font-weight: normal;
}

.pronouns {
    color: #7e7d7d;
}

#contact {
    /* margin-top: 2rem; */
    margin-top: 0rem;
}

#contact p {
    margin: 0.5rem 0;
    font-family: Arial, sans-serif;
}

/* Right Column Styles */
.right-column {
    flex: 1;
    padding-left: 2rem;

    /* Adjusted to allow space for the left column */
    width: 100%;
    /* padding: 1rem; */
    /* margin-left: auto; */
}

/* Single Column Styles */
.single-column {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    justify-content: center; /* Center vertically */
    /* align-items: center; Center horizontally */
    width: 100%; /* Full width for responsiveness */
    max-width: 480px; /* Limit width to phone size */
    min-height: 80vh; /* Ensure box has a significant height */
    margin: 2rem auto; /* Center horizontally with margin */
    padding: 2rem; /* Internal padding */
    /* background-color: #ffffff; */ /* Optional: background color */
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */ /* Optional: subtle shadow */
    border-radius: 8px; /* Optional: rounded corners */
    /* text-align: center; Center text alignment */
}

.right-column section {
    margin-bottom: 2rem;
}

h3 {
    color: #222;
    font-size: 1.5rem;
    margin-top: 0;
}

/* List Styles */
ul {
    list-style-type: none;
    padding: 0;
}

li {
    margin-bottom: 1rem;
}

/* Footer Styles */
footer {
    text-align: center;
    padding: 1rem;
    background-color: #f3f6f8;
    /* box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); */
    margin-top: 2rem;
}

footer p {
    margin: 0;
    font-size: 0.9rem;
    color: #555;
}

/* Table Styles */
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2rem;
    font-family: Georgia, serif;
}

th, td {
    text-align: left;
    padding: 0.5rem;
    border-bottom: 1px solid #ddd;
}

th {
    background-color: #f2f4f6;
    /* font-weight: bold; */
    color: #747474;
    font-size: 0.9rem;
}

td {
    font-size: 0.95rem;
}

tr:last-child td {
    border-bottom: none;
}

/* Photographer Credit Styles */
.photographer-credit {
    font-size: 0.6rem; /* Smaller font size */
    color: #aaa; /* Lighter grey color */
    margin-top: 0.3rem; /* Slight space between photo and credit */
    text-align: center;
}

/* Media Query for mobile/vertical screen */
@media (max-width: 768px) { /* Adjust 768px as needed for different screen sizes */
    .container {
        flex-direction: column; /* Stack columns vertically */
        padding: 1rem;
    }

    .left-column {
        border-right: none; /* Remove border when stacked */
        border-bottom: 1px solid #ddd; /* Add bottom border for separation */
        padding-right: 0; /* Remove right padding */
        padding-bottom: 1rem; /* Add space below the left column */
    }

    .right-column {
        padding-left: 0; /* Remove left padding for better alignment */
        padding-top: 1rem; /* Add space at the top for visual separation */
    }
}

/* Responsive layout: stack columns on smaller screens */
@media screen and (max-width: 768px) {
    .left-column,
    .right-column {
        width: 100%; /* Full width for both columns */
        position: static; /* Normal flow for mobile */
        height: auto; /* Allow dynamic height */
    }
}

/* Gallery Section Styles */
#gallery {
    margin-top: 2rem; /* Space above the gallery */
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); /* Responsive grid */
    gap: 1rem; /* Space between images */
}

.gallery-grid img {
    width: 100%; /* Full width of the grid cell */
    border-radius: 4px; /* Optional: rounded corners for images */
    object-fit: cover; /* Ensures images cover the area nicely */
}

/* Featured Image Styles */
.featured-image {
    /* max-width: 800px; */
    width: 100%; /* Automatically resize to the right column's width */
    height: auto; /* Maintain aspect ratio */
    margin-top: 2rem; /* Optional: Add space above the image */
    border-radius: 4px; /* Optional: Rounded corners for the image */
    /* align-self: center; */
}

img {
    border-radius: 4px;
    display: block;
    margin: 0 auto;
}

/* Button Styles */
#moreBtn {
    display: inline-block;
    padding: 0.5rem 1rem;
    background-color: #007bff;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
}

#moreBtn:hover {
    background-color: #0056b3;
}

/* Clickable text (show more) styling */
.show-more {
    color: #0051a9; /* Make it look like a link */
    cursor: pointer; /* Pointer cursor */
    text-decoration: underline;
}

.show-more:hover {
    color: #00448c; /* Darker color on hover */
}

/* Subtle link styling */
.slink {
    color: #001d39; /* Deep near-black blue */
    text-decoration: underline; /* Underline */
    text-decoration-thickness: 0.05px; /* Thin underline */
    text-underline-offset: 3px; /* Slight offset for subtle effect */
    /* font-weight: 400;  */
    /* Normal weight for a more subdued look */
}

.slink:hover {
    color: #024483; /* Slightly darker on hover */
    text-decoration-thickness: 1px; /* Increase underline thickness on hover */
}