/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */


body {
  background-color: #1f0433;
  color: #e8e0f0;
  font-family: Georgia, "Times New Roman", serif;
  margin: 0;
  min-height: 100vh;
  position: relative;
}

.container {
  max-width: 700px;
  margin: 60px auto;
  padding: 40px;
  text-align: center;
  line-height: 1.7;
}

h1 {
  font-family: "Palatino Linotype", Palatino, serif;
  font-size: 3rem;
  letter-spacing: 0.18em;
  margin-bottom: 10px;
  color: #f3ecff;
}

.definition {
  font-size: 0.95rem;
  color: #b8a9d9;
  margin-bottom: 35px;
}

/* NAVIGATION */
.nav {
  position: absolute;
  text-decoration: none;
  font-family: "Palatino Linotype", Palatino, serif;
  font-style: italic;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
}

.blog-page .nav {
  position: fixed;
  z-index: 1000;
}

.nav-float {
  display: inline-block;
  animation: float 10s ease-in-out infinite;
}

.nav-text {
  display: inline-block;
  color: #bfa9ff;
  animation: glow 6s ease-in-out infinite;
  transition: transform 0.25s ease, color 0.25s ease;
}

.nav:hover .nav-text {
  transform: scale(1.3);
  color: #f0e6ff;
}

/* NAV POSITIONING */
.home {
  top: 40px;
  left: 60px;
  transform: rotate(-7deg);
}

.blog {
  top: 140px;
  right: 90px;
  transform: rotate(6deg);
}

.about {
  bottom: 120px;
  left: 120px;
  transform: rotate(-4deg);
}

.contact {
  bottom: 70px;
  right: 140px;
  transform: rotate(8deg);
}

/* ANIMATIONS */
@keyframes float {
  0%   { transform: translateY(0px); }
  50%  { transform: translateY(-8px); }
  100% { transform: translateY(0px); }
}

@keyframes glow {
  0%   { text-shadow: 0 0 2px #9f7aea; opacity: 0.85; }
  50%  { text-shadow: 0 0 10px #cbb6ff; opacity: 1; }
  100% { text-shadow: 0 0 2px #9f7aea; opacity: 0.85; }
}

/* BLOG PAGE */
.sort-box {
  margin: 30px 0 35px 0;
  font-size: 1rem;
}

.sort-box label {
  margin-right: 10px;
}

.sort-box select {
  background-color: #2d1245;
  color: #f0e6ff;
  border: 1px solid #8f73c9;
  padding: 6px 10px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.95rem;
}

.blog-preview {
  margin-bottom: 35px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(191, 169, 255, 0.25);
  text-align: left;
}

.blog-preview h2 {
  margin-bottom: 8px;
  font-family: "Palatino Linotype", Palatino, serif;
}

.blog-preview h2 a {
  text-decoration: none;
}

.post-date {
  color: #b8a9d9;
  font-size: 0.95rem;
  margin-top: 0;
  margin-bottom: 10px;
}

/* BLOG ENTRY ARROWS */
.entry-nav {
  display: flex;
  justify-content: center;
  gap: 60px;
  margin: 40px 0;
}

.entry-nav a,
.entry-nav .spacer {
  font-size: 1.6rem;
  text-decoration: none;
  color: #bfa9ff;
  transition: transform 0.2s ease, color 0.2s ease;
}

.entry-nav a:hover {
  color: #f0e6ff;
  transform: scale(1.2);
}

.spacer {
  visibility: hidden;
}