/*
Theme Name: treeforclerk
Author: James D. Mills
Version: 1.0
*/


body {
    background-color: #ecece4;
    font-family: 'Roboto Serif', serif;
    color: black;
    margin: 0;
    font-size: 17px;
    line-height: 1.5;
    font-weight: normal;
    min-height: 100vh;           /* full viewport height */

}

main 
{
  width: min(85%, 1000px);     /* responsive max-width + breathing room on mobile */
  margin-inline: auto;          /* modern & readable way to say margin-left/right: auto */
  padding: 2rem;
}

main a {
    color: #000;
    text-decoration: underline;
}
main a:hover {
    color: #df630a;
    text-decoration: none;
}
h1, h2, h3 {
  font-family: 'Roboto Serif', serif;
  font-weight: 700;
}

main #content {
    padding: 2.5rem 1rem;
    width: min(90%, 1100px);
    margin-inline: auto;
    box-sizing: border-box;
}

header{
    width: 100%;
    background-color: black;
    padding: 1rem 5%;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    
}

#banner {
    position: relative;
    height: 300px;
    margin: 0;
    background-color: black;
}

.banner-img {
    display: block;              /* Lets margin: auto work */
    width: 100%;                   /* 80% of the page width */
    height: 100%;                /* Fixed height (adjust as needed) */
    object-fit: cover;            /* Crops instead of stretching */
    opacity: 0.55;
}

.title-img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);  /* true center */
    max-width: 80%;        /* adjust as needed */
    max-height: 70%;
    width: auto;
    height: auto;
    pointer-events: none;  /* optional: clicks pass through */
}



.navbar {
    width: 100%;
    background-color: #bbcb6c;
}

.navbar ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap ;
    list-style-type: none;
    margin: 0;
    padding: 0;
    font-size: 1.2em;

}

.navbar ul li a{
    display: block;
    color: black;
    /*text-align: center; */
    padding: 14px 20px;
    text-decoration: none;
    white-space: nowrap;
} 

.navbar ul li a:hover {
    background-color: #d9d9c4;
    color:#df630a;
    opacity: 85%;
    border-radius: 10px;
} 

@media (max-width: 768px) {
  .navbar ul {
    flex-direction: column;      /* stack links vertically on mobile */
    align-items: left;
  }
  
  .navbar ul li a {
    /* padding: 16px 30px;          /* bigger tap targets */
    width: 100%;
    text-align: left;
  }
  
  #banner {
    height: 220px;               /* smaller hero on mobile */
  }
  
  .title-img {
    max-width: 90%;
  }

  .contact-image {
    flex-direction: column;
    align-items: center;
  }

}

.spacer {
    margin: 0.5rem;
    visibility: hidden;
    height: 0;
}

#portrait {
    text-align: center;
}

#portrait img {
    max-width: 500px;
    height: auto;
    border-radius: 10px;
    border: 5px solid #bbcb6c;
}

.contact-image {
    max-height: 400px;
    max-width: aut;
    text-align: center;
    height: auto;
    border-radius: 10px;
    border: 5px solid #bbcb6c;
    align-items: center;
    justify-content: center;
    justify-items: center;
}



/* Bio Card */

.masthead-image-text {
  display: flex;
  align-items: center;   /* Vertically center image and text */
  /* gap: 15px;             /* Space between image and text */
  flex-wrap: wrap;       /* Allow stacking on small screens */
  background-color: #bbcb6c;
  border-radius: 15px;
}
.masthead-image-text img {
  max-width: 350px;          /* Fixed image width */
  min-width: 260px;          /* Fixed image width */
  max-height: auto;          /* Keep proportions */
  border-radius: 8px;    /* Optional rounded corners */
  margin: 10px;
}
.masthead-image-text h1 {
  margin-left: 10px;
  margin-right: 10px;
}
.masthead-image-text p {
    margin-left: 10px;
    margin-right: 10px;
}
.masthead-image-text h3 {
    margin-left: 10px;
    margin-right: 10px;
}

.masthead-image-text .masthead-text {
  flex: 1;               /* Take remaining space */
}


/* BLOCKS */
.red-block {
    background-color: #e89a62;
    border-radius: 15px;
}
.red-block h2 {
  margin-left: 10px;
  margin-right: 10px;
}
.red-block p {
    margin-left: 10px;
    margin-right: 10px;
}
.red-block h3 {
    margin-left: 10px;
    margin-right: 10px;
}

.green-block {
    background-color: #bbcb6c;
    border-radius: 15px;
}
.green-block h2 {
  margin-left: 10px;
  margin-right: 10px;
}
.green-block p {
    margin-left: 10px;
    margin-right: 10px;
}
.green-block h3 {
    margin-left: 10px;
    margin-right: 10px;
}

.clear-block h2 {
  margin-left: 10px;
  margin-right: 10px;
}
.clear-block p {
    margin-left: 10px;
    margin-right: 10px;
}
.clear-block h3 {
    margin-left: 10px;
    margin-right: 10px;
}
/* FOOTER */

footer {
    background: black;
    overflow: hidden;
}

footer img {
    object-fit: cover;
    opacity: 0.4;
    display: block;
    width: 100%;
    height: 10em;
    min-height: 10em;
    object-fit: cover;
}

.footer-banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-text {
  position: absolute; /* keep it above image */
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); /* adjust for the element’s size */
  color: white;
  text-align: center;
  width: 90%;
  max-width: 800px;
  padding: 1rem;
  box-sizing: border-box;
}

footer a {
    color: #bbcb6c;
}

footer a:hover {
    color: #df630a;
}

/* Gallery */

.map-gallery{
    display:grid;
    grid-template-columns: repeat(6,1fr);
    grid-auto-rows:100px 300px;
    grid-gap:10px;
    grid-auto-flow: dense;
}

.gallery-item{
    width:100%;
    height:100%;
    position:relative;
}

.gallery-item .image{
    width:100%;
    height:100%;
    overflow:hidden;
}

.gallery-item .image img{
    width:100%;
    height:100%;
    object-fit: cover;
    object-position:50% 50%;
    cursor:pointer;
    transition:.2s ease-in-out;
}
.gallery-item:hover .image img{
    transform:scale(1.2);
}

.gallery-item .text{
    opacity:0;
    position:absolute;
    text-align: center;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    color:#fff;
    font-size:25px;
    pointer-events:none;
    z-index:4;
    transition: .1s ease-in-out;
    /* -webkit-backdrop-filter: blur(5px) saturate(1.8); */
    /* backdrop-filter: blur(5px) saturate(1.8); */
}

.gallery-item:hover .text{
    opacity:1;
   /* animation: move-down .3s linear; */
    padding:1em;
    width:75%;
    box-shadow: 0 3000px rgba(0, 0, 0, 0.7) inset;
}

.w-1{
    grid-column: span 1;
}
.w-2{
    grid-column: span 2;
}
.w-3{
    grid-column: span 3;
}
.w-4{
    grid-column: span 4;
}
.w-5{
    grid-column: span 5;
}
.w-6{
    grid-column: span 6;
}

.h-1{
    grid-row: span 1;
}
.h-2{
    grid-row: span 2;
}
.h-3{
    grid-row: span 3;
}
.h-4{
    grid-row: span 4;
}
.h-5{
    grid-row: span 5;
}
.h-6{
    grid-row: span 6;
}


@media screen and (max-width: 500px) {
    .map-gallery {
        grid-template-columns: 1fr;                /* single column */
        grid-auto-rows: auto;                      /* let rows size naturally based on content */
        grid-auto-flow: row;                       /* default = row; disable dense packing */
        gap: 15px;                                 /* a bit more breathing room vertically */
    }

    /* Reset all span classes so every item is exactly 1×1 */
    .w-1, .w-2, .w-3, .w-4, .w-5, .w-6,
    .h-1, .h-2, .h-3, .h-4, .h-5, .h-6 {
        grid-column: span 1;
        grid-row: span 1;
    }

    /* Optional: make images taller/narrower on mobile if desired */
    .gallery-item {
        height: auto;           /* important — override any fixed heights */
    }

    .gallery-item .image img {
        height: auto;           /* let natural aspect ratio shine */
        object-fit: cover;      /* still good, but now with auto height */
    }

    /* If text overlay feels too big on small screens */
    .gallery-item .text {
        font-size: 18px;        /* smaller text */
        width: 90%;
    }
}

/* Priority Grid */

.priorities-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);     /* 3 equal columns */
  gap: 2rem 1.5rem;                          /* row gap 2rem, column gap 1.5rem — adjust as needed */
  margin: 2rem 0;                            /* space above/below the whole grid */
  justify-content: center;

}

.priority-item {
  background: #f8f9fa;                       /* light background — optional but looks card-like */
  padding: 1.5rem;
  border-radius: 8px;
  border: 1px solid #e0e0e0;                /* subtle border — optional */
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);   /* soft shadow — optional */
}

/* Make sure headings and paragraphs look good inside */
.priority-item h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  color: #333;                               /* or your brand color */
}

.priority-item p {
  margin: 0;
  line-height: 1.6;
}

/* Optional: Center the last row's 2 items */
.priorities-grid :nth-child(n+4) {
  grid-column: span 1;                       /* default */
}

/* Optional responsive adjustment (e.g. tablets & smaller) */
@media (max-width: 1024px) {
  .priorities-grid {
    grid-template-columns: repeat(2, 1fr);   /* 2 columns on medium screens */
  }
}

@media (max-width: 640px) {
  .priorities-grid {
    grid-template-columns: 1fr;              /* stack on mobile */
  }
}