/*
 * Global styles for the Flying Eagle Productions website.
 * Designed to evoke the look and feel of early 1990s personal homepages.
 */

body {
  background: url('../img/tiles/gray_tile.png');
  font-family: 'Times New Roman', Times, serif;
  margin: 0;
  padding: 0;
  color: #000000;
}

.container {
  width: 760px;
  margin: 0 auto;
  background-color: #f5f5f5;
  border: 2px solid #888;
  box-shadow: inset 0 0 5px #ccc;
  padding: 10px;
}

header {
  text-align: center;
  margin-bottom: 10px;
}

.logo-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.logo {
  width: 64px;
  height: 64px;
  image-rendering: pixelated;
}

marquee {
  background-color: #c0c0c0;
  color: #000080;
  padding: 4px;
  border: 2px groove #808080;
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
  margin-top: 5px;
}

nav .nav-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 10px;
}

nav .nav-table td {
  background-color: #dcdcdc;
  border: 1px solid #888;
  padding: 5px 8px;
  text-align: center;
  font-family: 'Courier New', Courier, monospace;
  font-size: 14px;
}

nav .nav-table td a {
  text-decoration: none;
  color: #0000ff;
}

nav .nav-table td a:hover {
  text-decoration: underline;
}

main {
  padding: 10px;
}

h1, h2, h3 {
  font-family: 'Times New Roman', Times, serif;
  margin-top: 0.5em;
}

.under-construction {
  margin-top: 20px;
  padding: 10px;
  background-color: #ffffe0;
  border: 2px dashed #ffa500;
  font-style: italic;
}

footer {
  text-align: center;
  font-size: 12px;
  margin-top: 15px;
  border-top: 1px solid #888;
  padding-top: 10px;
}

/* Team page styles */
.team-grid {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
}

.team-grid td {
  width: 33%;
  text-align: center;
  padding: 10px;
  vertical-align: top;
}

.team-grid img {
  width: 100px;
  height: 100px;
  border: 2px solid #888;
  object-fit: cover;      /* fill the square while preserving aspect ratio */
  object-position: center;/* centre the crop */
  image-rendering: pixelated;
}

.employee-name {
  font-weight: bold;
  margin-top: 5px;
}

/* Blog styles */
.post-list {
  list-style-type: none;
  padding-left: 0;
}

.post-list li {
  margin-bottom: 8px;
}

.post-list a {
  text-decoration: underline;
  color: #0000ff;
  font-family: 'Courier New', Courier, monospace;
}

.blog-post {
  border-top: 2px solid #888;
  margin-top: 15px;
  padding-top: 10px;
}

/* Store page */
.store-item {
  border: 2px ridge #888;
  padding: 10px;
  margin-bottom: 15px;
  background-color: #ffffff;
}

.store-item img {
  width: 120px;
  height: 120px;
  display: block;
  margin-bottom: 5px;
  image-rendering: pixelated;
}

.buy-button {
  display: inline-block;
  padding: 5px 10px;
  background-color: #00a000;
  color: #ffffff;
  border: 2px outset #008000;
  text-decoration: none;
  font-family: 'Courier New', Courier, monospace;
}

.buy-button:hover {
  background-color: #008000;
}

/* Message board page */
.message-board {
  border: 2px groove #888;
  padding: 10px;
  background-color: #e0e0e0;
}

.external-link {
  font-family: 'Courier New', Courier, monospace;
  color: #0000ff;
  text-decoration: underline;
}

/* Admin notice */
.admin-note {
  font-size: 12px;
  font-style: italic;
  color: #555;
  margin-top: 15px;
}

/* Responsive tweaks for phones and small tablets */
@media only screen and (max-width: 600px) {
  /* Fill the viewport; avoid right-edge crop */
  .container {
    width: 100%;
    margin: 0;
    padding: 8px;
    box-sizing: border-box;
    border-left: none;   /* remove fixed side borders on small screens */
    border-right: none;
  }

  /* Nav: full-width buttons stacked vertically */
  nav .nav-table {
    width: 100%;
  }
  nav .nav-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 2px 0;
  }

  /* Stack team tiles and store items */
  .team-grid td,
  .store-grid {
    display: block;
    width: 100%;
  }
  .store-grid {
    grid-template-columns: 1fr;
  }

  /* Optional: slightly smaller headings */
  h1, h2 { font-size: 1.4em; }
}


/* Profile galleries on individual team pages
   Use taller rectangles for portrait images and crop equally from the top and bottom. */
.profile-gallery img {
  /* maintain a consistent width but allow for taller images */
  width: 150px;
  height: 200px;
  border: 2px solid #888;
  /* keep the retro look pixelated */
  image-rendering: pixelated;
  /* crop using cover and center the subject so both the top and bottom are cropped evenly */
  object-fit: cover;
  object-position: 50% 50%;
}

footer .fineprint small {
  font-size: 11px;            /* 90s small-print vibe */
  color: #555;                 /* muted gray */
  font-style: italic;          /* period-appropriate flourish */
}
