body{
    margin: 0;
    border: solid 1px black;
}

html, body {
  overflow-x: hidden; /* Use cautiously—often better to fix the cause */
}

.header-image {
    width: 100%;
    height: auto;
    max-height: 250px; /* Adjust this value as needed */
    display: block;
    object-fit: cover; /* Ensures the image covers the area without distortion */
}

.header-container {
    position: relative;
    width: 100%;
    max-height: 250px;
    overflow: hidden;
}

.header-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: yellow;
    font-size: clamp(2.5rem, 5.5vw, 4.5rem); /* Responsive font size */
    text-shadow: 4px 4px 6px black;
    margin: 0;
}

.textImgSection {
    width: 100%;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.imageSection {
    width: 35%;
    object-fit: cover;
}

.textSection {
    width: 65%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;   /* Add this line */
    text-align: center;
    font-size: clamp(1rem, 3vw, 2rem); /* Responsive font size */
}

.textSection h2, .textSection p {
    margin: 0;
    
}

.posterImage {
    width: 50%;
}

.container {
    display: flex;
    gap: 20px; /* space between columns */
    max-width: 1000px; /* optional: limit container width */
    margin: 0 auto; /* center horizontally */
    padding: 20px;
    background-color: white;
}

.left-column {
    flex: 6 1 0; /* take up available space */
    font-size: clamp(1rem, 3vw, 2rem); /* Responsive font size */
}

.left-column p {
    text-indent: 2em;
    line-height: 1.5;
}

.left-column h1{
    font-size: clamp(2rem, 4vw, 3rem); /* Responsive font size */
    color: blue;
    text-align: center;
}

.right-column {
    flex: 4 1 0;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    gap: 15px; /* space between images */
}

.right-column img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
    height: auto;
    border: solid 2px blue;
}

.endorsements-container {
    display: flex;
    flex-wrap: wrap;
    gap: 24px; /* space between endorsements */
    justify-content: center; /* center the whole group */
    padding: 20px;
}

.endorsement {
    display: flex;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgb(0 0 0);
    padding: 20px;
    max-width: 600px;  /* wider endorsements */
    flex: 1 1 500px;  /* flex-grow:1, flex-shrink:1, flex-basis:300px */
    box-sizing: border-box;
}

.endorsement img {
  width: 120px;
  height: 120px;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 20px;
  border: 2px solid #ddd;
  display: block;
}

.endorsement p:first-child {
  font-style: italic;
  margin: 0 0 10px;
  font-size: 1.1rem;
  color: #333;
}

.endorsement p:last-child {
  margin: 0;
  font-weight: 600;
  color: #555;
}

strong{
    font-style: normal
}

.slogan{
    font-size: clamp(2rem, 4vw, 3rem);
    text-align: center;
    margin: 0;
    width: 100%;
    background-color: blue;
    border-top: solid 1vh yellow;
    border-bottom: solid 1vh yellow;
    padding: 1% 0;
    color: white;
}

.column-container {
  display: flex;
  gap: 3%;
  padding: 0 3%;
}

.column {
  flex: 50%;       /* each column takes 50% width */
  text-align: left;
  font-size: clamp(1rem, 2vw, 1.8rem); /* Responsive font size */
}

.column h2{
    color: blue;
}

.column h2 img {
  height: 1em;
  vertical-align: middle;
  margin-right: 0.3em;
}

.donation {
    margin: 1vh;
    display: flex;
    align-items: stretch;
    background-color: blue;
}

.donation-text{
    width: 60%;
    text-align: center;
    background-color: white;
    border-radius: 2em;
    margin: 2%;
    padding-bottom: 1%;
    font-size: clamp(1rem, 2vw, 1.8rem); /* Responsive font size */
}

.donation-text h1, .donation-text p {
    margin: 0.3em;
}

.donation-button{
    display: flex;
    align-self: center;
    justify-content: center;
    width: 40%;
    padding: 1.5%;
}

.donation-button button{
    height: 20vh;
    font-size: clamp(2rem, 3vw, 3rem); /* Responsive font size */
    color: white;
    width: 100%;
    background-color: rgb(0, 214, 0);
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
    transform-origin: center;
    box-shadow: 5px 5px 5px black;
    border: solid 1vh yellow;
}

.donation-button button:hover {
    transform: scale(1.03);
}

.donation-button button:focus {
    outline: none;
}

/* make widths include padding & borders */
* { box-sizing: border-box; }

.grid { margin: 0 auto; }

/* keep 4 equal columns */
.grid-sizer,
.grid-item { width: 25%; box-sizing: border-box; }

/* add a gutter via padding (doesn't increase column width) */
.grid-item {
  padding: 6px;           /* gutter space */
  margin-bottom: 6px;
}

/* image fills its padded box */
.grid-item img {
  width: 100%;
  display: block;
  border-radius: 6px;
  object-fit: cover;
}

.site-footer {
    background-color: blue;
    padding: 20px;
    text-align: center;
    font-family: Arial, sans-serif;
    font-size: 18px; /* Increased font size */
    color: white;
    border-top: solid 1vh yellow;
    border-bottom: solid 1vh yellow;
}

.site-footer p {
    display: flex;
    justify-content: center;
    gap: 40px; /* Space between items */
    flex-wrap: wrap; /* Wrap on smaller screens */
    margin: 0;
}

.site-footer a {
    color: white;
    text-decoration: none;
}

.site-footer a {
    color: white; /* Facebook blue */
}

.site-footer a:hover {
    text-decoration: underline;
}

@media (max-width: 650px){
    .column-container {
        flex-direction: column;   /* stack columns vertically */
        align-items: center;      /* optional centering */
        gap: 0px;
    }

    .column {
        flex: 100%;               /* full width each */
    }

    .grid-sizer,
    .grid-item { width: 33%; box-sizing: border-box; }

    .site-footer p {
    flex-direction: column;
    gap: 15px;  /* smaller gap for vertical spacing */
    }
}

@media (max-width: 400px) {
    .left-column p {
        line-height: normal;
    }
}
