  *, *::before, *::after {
    box-sizing: border-box;
  }

body {
  font-family: 'Courier Prime', monospace;
  font-size: 20px;
  background: #000000; background-image: url('stars.gif'); background-repeat: repeat;
  color: #c0bfbc;
  margin: 0;
  width: 100%;
}

a:link {
  color: #BAB8FF;
  text-decoration: none;
}

a:visited {
  color: #24FFF8;
  text-decoration: none;
}

a:hover {
  color: #FF2424;
  text-decoration: none;
}

.content-wrap {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  padding: 1em 0;
  box-sizing: border-box;
}

header {
  background: transparent;
  padding: 1em;
  text-align: center;
}

nav {
  background: #deddda;
  text-align: center;
  padding: 0.5em;
}

nav a:link {
  color: #000000;
  text-decoration: none;
  margin: 0 0.5em;
}

nav a:visited {
  color: #000000;
  text-decoration: none;
  margin: 0 0.5em;
}

nav a:hover {
  color: #000000;
  text-decoration: none;
  margin: 0 0.5em;
}

footer {
  background: transparent;
  padding: 1em;
  text-align: center;
  font-size: 10px;
}

.layout {
  display: flex;
  gap: 1em;
  box-sizing: border-box;
  justify-content: center;  /* <-- center the columns horizontally */
  max-width: 100%;          /* ensure it fits inside .content-wrap */
}

aside, main {
  padding: 16px;
  border: 0px solid #ccc;
  min-height: 300px;
  box-sizing: border-box;
}

.left  { flex: 0 0 20%; background: #241f31; font-size: 14px; }
.main  { flex: 0 0 60%; background: #241f31; font-size: 22px; }
.right { flex: 0 0 20%; background: #241f31; font-size: 14px; }

@media (max-width: 768px) {
  .layout {
    flex-direction: column;
  }
  .left, .main, .right {
    flex: 1 1 100%;
  }
}