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

body {
  font-family: "BIZ UDGothic", monospace;
  font-size: 16px;
  background: #D3D3D3;
  color: #ffffff;
  margin: 0;
  width: 100%;
}

a {
  color: #ADD8E6;
  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: #000000;
  text-align: center;
  padding: 0.5em;
}

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

footer {
  color: #000000;
  background: transparent;
  padding: 1em;
  text-align: center;
}

.layout {
  display: flex;
  gap: 1em;
  box-sizing: border-box;
  justify-content: center;
  max-width: 100%;
}

aside, main {
  flex-direction: column;
  padding: 16px;
  border: 0px solid #ccc;
  box-sizing: border-box;
  user-select: none
}

.enter-btn-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.main.centered {
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.centered {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
}

.hidden {
  display: none !important;
}

.main.centered h1 {
  text-align: center;
  width: 100%;
}

.p2 {
  color: #a8d8ff;
  text-align: right;
}

.left  { flex: 0 0 20%;   background: #808080; }
.main  { flex: 0 0 60%;   background: #808080; }
.right { flex: 0 0 20%;   background: #808080; }

.left, .right {
  position: sticky;
  top: 80px;
  align-self: flex-start;
}

.main.centered h1 {
  text-align: center;
  max-width: 100%;
  white-space: nowrap;
  font-size: clamp(1.5rem, 5vw, 2rem);
}

@media (max-width: 768px) {
  .layout {
    flex-wrap: wrap;
    gap: 0;
  }
  
   .enter-btn {
    font-size: 28px;
    padding: 20px 40px;
    letter-spacing: 8px;
   }  
    
  .left, .right {
    position: static;
    flex: 1 1 50%;
    min-width: 0;
    width: 50%;
  }
  
    aside:only-of-type {
    flex: 0 1 auto;
    width: 60%;
    max-width: 60%;
    margin: 0 auto;
  }
  
  
  .left { order: 1; }
  .right { order: 2; }
  .main {
    flex: 1 1 100%;
    order: 3;
  }
}

#arrow {
  color: #ffffff;
  font-size: 20px;
  margin-left: 6px;
  user-select: none;
  animation: blink 2.5s infinite;
}

@keyframes blink {
  0%, 50%   { opacity: 1; }
  51%, 100% { opacity: 0; }
}

.red  { color: #ff5555; }
.blue { color: #a8d8ff; }

.main-column {
  flex: 0 0 60%;
  display: flex;
  flex-direction: column;
  gap: 1em;
  max-width: 100%;
}

.main-column .main {
  flex: none; 
  width: 100%;
  max-width: 100%;
}
