* { margin:0; padding:0; box-sizing:border-box; }
body {
  font-family: 'Trebuchet MS', 'Lucida Sans Unicode', 'Lucida Grande', 'Lucida Sans';
  line-height: 1.5;
  text-align: center;
  color: #333;
  font-size: 1.125rem;
}
a { text-decoration: none; }
img, video, iframe { max-width:100%; height:auto; display:block; }

/* Header */
.page-header {
  position: relative;
  display: flex;
  align-items: center;
  padding: 10px;
  background: url("../img/8.29.24saflag.png") no-repeat center/cover;
  background-size: 100% 100%;
}
.page-header__logo { max-height: 25vh; display: block;
  margin-left: 42vw;
  margin-right: auto;
}

/* Navigation Tiles */

.footer-nav {
  display: flex;               /* side by side */
  gap: 1rem;                   /* your usual gutter */
}

.footer-nav .nav-card {
  flex: none;                  /* turn off flex-grow/shrink */
  width: calc(50% - 0.5rem);   /* two cards, minus half the gutter each */
  height: 15rem;               /* pick a height that looks good on desktop */
  overflow: hidden;            /* cut off anything outside the box */
}

.footer-nav .nav-card__img {
  width: 100%;  
  height: 100%;  
  object-fit: cover;           /* fill & crop */
}

.nav-grid {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  margin: 5vw 0;
}
.nav-card {
  position: relative;
  width: 40vw;
  height: 40vh;
  overflow: hidden;
}
.nav-card__img { width: 100%; height: 100%; object-fit: cover; transition: filter .3s; }
.nav-card:hover .nav-card__img { filter: brightness(.7); }
.nav-card__label {
  position: absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:1.5rem;
  font-weight:bold;
  text-shadow:2px 2px 5px rgba(0,0,0,0.7);
}

/* Content Containers */
.container { padding: 0 2rem; max-width: 1200px; margin: auto; }
.row { margin: 1.5rem 0; text-align:left; }
.row p { max-width: 800px; margin:auto; }

/* Galleries */
.gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
  margin: 2rem 0;
}
.gallery-item { flex:1 1 30%; }
.gallery-item img,
.gallery-item video,
.gallery-item iframe { width:100%; }

/* Typography */
h1,h2,h3 { margin:1rem 0; font-family:'Trebuchet MS', sans-serif; }
h1 { font-size:2.5rem; }
h2 { font-size:2rem; }
h3 { font-size:1.25rem; font-weight:normal; }

/* Responsive Breakpoint */
@media (max-width:768px) {
  .nav-card { width:80vw; height:auto; }
  .nav-card__label { font-size:1.25rem; padding: .5rem; }
  .gallery-item { flex:1 1 100%; }
  .page-header__title {
    font-size: 1.75rem;
    padding: 0.2em 0.4em;
  }
}

.contact-info { text-align: center; }
.contact-img {
  display: block;
  margin: 1.5rem auto;   /* centers the image */
  width: 100%;
  max-width: 400px;      /* scaled down; tweak this number to taste */
  height: auto;
}
.contact-img--tight {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem;
}