header, footer {
    /*background: #333;*/
    /*color: white;*/
    padding: 10px;
    /*text-align: center;*/
    flex-shrink: 0; /* Prevent from shrinking */
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
}

/* Scrollable middle area */
main {
    flex: 1;
    overflow-y: auto; /* Scroll if content is tall */
    display: flex;
    justify-content: center; /* Center horizontally */
    /*padding: 20px;*/
    /*background: #f5f5f5;*/
}

/* Centered content box */
.content {
    width: 800px; /* You can vary this */
    max-width: 100%; /* Prevent overflow on small screens */
    /*background: white;*/
    padding: 20px;
    /*box-shadow: 0 0 10px rgba(0,0,0,0.1);*/
}

/* Left & right just work automatically */
.left {
  justify-self: start;
}

.right {
  justify-self: end;
}

/* Special trick for the center: make it flex and fill remaining space */
.center {
  justify-self: center;
}
