/* =========================
   Global layout & reset
========================= */
html,
body {
  height: 100%;
  margin: 0;
}

body {
  display: flex;
  flex-direction: column;
  font-family: system-ui, sans-serif;
  font-size: 1.125rem;
  line-height: 1.6;
  background: radial-gradient(
    ellipse at center,
    rgba(255, 254, 234, 1) 0%,
    rgba(255, 254, 234, 1) 35%,
    #b7e8eb 100%
  );
}

/* =========================
   Header
========================= */
.container-header {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 1.5rem;
  align-items: center;
  padding: 1rem 2rem;
}

.item-1 {
  font-size: 1.8rem;
  font-weight: 700;
}

a {
  color: #425c83;
  text-decoration: none;
}

a:hover {
  color: #00a0c6;
}

/* =========================
   Main content
========================= */
main {
  flex: 1;
  width: min(65ch, 100% - 4rem);
  margin-inline: auto;
  text-align: center;
}

.center-post {
  margin-top: 6rem;
}

.para {
  margin-top: 1rem;
}

/* Fancy highlighted word */
.fancy {
  margin: 0 0.25rem;
  padding: 0.25rem 0.5rem;
  border: 2px solid black;
  border-radius: 6px;
  background-image: linear-gradient(
    to right top,
    #d16ba5,
    #c777b9,
    #ba83ca,
    #aa8fd8,
    #9a9ae1,
    #8aa7ec,
    #79b3f4,
    #69bff8,
    #52cffe,
    #41dfff,
    #46eefa,
    #5ffbf1
  );
}

/* =========================
   Footer & waves
========================= */
.footer {
  position: relative;
  height: 250px;
  overflow: hidden;
}

/* Social links */
.footer-links {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2rem;
}

.footer-links a {
  font-size: 2rem;
  color: #425c83;
}

.footer-links a:hover {
  color: #00a0c6;
}

/* Ocean container */
.ocean {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* Waves */
.wave {
  position: absolute;
  bottom: -20px;
  width: 6400px;
  height: 198px;
  background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/85486/wave.svg")
    repeat-x;
  animation: wave 7s cubic-bezier(0.36, 0.45, 0.63, 0.53) infinite;
}

.wave:nth-of-type(2) {
  animation:
    wave 7s cubic-bezier(0.36, 0.45, 0.63, 0.53) -0.125s infinite,
    swell 7s ease -1.25s infinite;
}

/* =========================
   Animations
========================= */
@keyframes wave {
  from {
    margin-left: 0;
  }
  to {
    margin-left: -1600px;
  }
}

@keyframes swell {
  0%,
  100% {
    transform: translateY(-10px);
  }
  50% {
    transform: translateY(5px);
  }
}

/* =========================
   Responsive tweaks
========================= */
@media (max-width: 800px) {
  .container-header {
    grid-template-columns: 1fr auto auto;
    padding: 1rem;
  }
}
