html,
body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: sans-serif;
}

body {
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100vh;
}

header {
  background: #222;
  color: #fff;
  font-size: 2rem;
  display:flex;
  flex-direction: column;
justify-content: center;
align-items: center;
  background-image: url(../img/oaks.jpg);
  background-attachment: fixed;
  background-size: cover;
  background-position: center -50vh;
  background-repeat: no-repeat;
}

main {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  padding: 1rem;
  background: #f9f9f9;
}

section {
  background: #fff;
  padding: 1rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

aside {
  background: #f8fae7;
  padding: 1rem;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}


/* notice styling */
div#notices div {
  padding:1rem;
  margin-bottom:1em;
  background: #fff;
}
div#notices div:nth-child(2n) {
  background: #eee;
}

div h3:has(+ small) {
  line-height:1rem;
  padding:0;
  margin:0;
}

table {
  width: 100%;
  background: #fff;
}
table td, table th {
  text-align:left;
  padding: 0.5em;
}

table th {background: #222; color: #fff;}

table tbody tr:nth-child(even) { background: aliceblue; }

/* Responsive layout for smaller screens */
@media (max-width: 768px) {
  main {
    grid-template-columns: 1fr;
  }

  body {
    grid-template-rows: auto 1fr;
  }

  header h1, header h2 { 
    font-size: 1em; 
    margin: 0.5em 0;
  }
}