/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

/* Global Styles */
* {
  font-weight: 500;
  margin: 0;
  padding: 0;
  font-family: 'Poppins', sans-serif;
}

html, body {
  height: auto; /* Allow height to adjust based on content */
  min-height: 100vh;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden; /* Keep horizontal overflow hidden */
  overflow-y: auto; /* Enable vertical scrolling */
}

body {
  background: linear-gradient(135deg, #272727, #201f1f);
  color: #edf0f1;
}

/* Typography */


h1 {
  font-size: 2.5rem; /* Increased size for impact */
  margin-bottom: 20px;
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

h4, h5 {
  font-size: 18px; /* Slightly larger for better readability */
  color: #edf0f1;
  font-weight: 500;
  text-decoration: none;
  background-color: rgb(34, 34, 34);
}

p {
  font-size: 1.25rem; /* Increased size for emphasis */
  line-height: 1.6; /* Improved readability */
  text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
}

#typing-text {
  color: #FFFFFF;
  font-weight: 500;
  text-align: left;
  background-color: rgb(34, 34, 34);
  font-size: 15px;
  padding: 10px;
  height: 40px;
  width: 100%;
  outline: none;
  resize: none;
  box-sizing: border-box;
}

/* Layout */
main {
  flex: 1;
}

/* Ensure main fills available space inside the slide wrapper */
.page-slide-wrapper main {
  flex: 1 1 auto;
  display: block;
}
.blur-reveal {
  animation: fadeIn 1.2s ease-in;
}

.home-body {
  max-width: 700px;
  margin: 20px auto;
  text-align: center;
  padding: 20px;
  background-color: rgba(34, 34, 34, 0.8);
  border-radius: 15px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.home-body p {
  line-height: 1.6;
  margin: 0; /* Remove default margins */
  padding: 0; /* Remove default paddings */
}

.home-body a {
  line-height: 1.6; /* Improved readability */
  font-size: 1.25rem; /* Standardize font size */
  margin: 0; /* Remove margins around links */
  padding: 0; /* Remove paddings around links */
  color: #7adeff;
  text-decoration: underline;
}

.home-body a:hover {
  color: #ADD8E6;
}


.home-body:hover {
  transform: scale(1.02);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.4);
}


/* Modal */
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.6); /* Darker overlay */
}

.modal-content {
  background-color: #fefefe;
  margin: 10% auto; /* Adjusted for better centering */
  padding: 30px;
  border: 1px solid #888;
  width: 70%; /* Adjusted for better layout */
  border-radius: 10px; /* Added rounded corners */
}

/* Sidebar */
.w3-sidebar {
  width: 120px;
  background: #222;
}

/* Buttons and Links */
a, button {
  border: 0;
  font-weight: 500;
  font-size: 16px;
  color: #edf0f1;
  text-decoration: none;
  background-color: transparent;
  cursor: pointer;
}
button {
  background-color: #444;
  border-radius: 5px;
  padding: 10px 20px;
  transition: background-color 0.3s, box-shadow 0.3s;
}

button:hover {
  background-color: #555;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}

a:hover {
  color: #ADD8E6;
}

.link {
  color: #7adeff;
  text-decoration: underline;
}

/* Lists */
ul {
  list-style-type: none;
}

/* Footer */
footer {
  background-color: #222;
  padding: 20px;
  text-align: center;
  width: 100%;
  margin-top: auto;
  border-top: 1px solid #444;
}

footer .container {
  display: flex;
  flex-direction: column;
  align-items: center;
}

footer p {
  margin-bottom: 10px;
  font-size: 0.875rem; /* Smaller font size for footer text */
}

footer .social-links a {
  margin: 0 15px; /* Increased margin for better spacing */
}

footer .social-links img {
  height: 32px; /* Slightly larger icons */
  width: 32px;
  transition: transform 0.3s, opacity 0.3s; /* Added opacity transition */
}

footer .social-links img:hover {
  transform: scale(1.1);
  opacity: 0.8; /* Slightly transparent on hover */
}

/* Responsive Adjustments */
@media (max-width: 480px) {
  body {
    font-size: 14px;
  }

  .home-body {
    padding: 10px;
  }

  h1 {
    font-size: 1.8rem;
  }

  p {
    font-size: 1.1rem;
  }
}

@media (max-width: 768px) {
  .home-body {
    padding: 15px;
  }

  h1 {
    font-size: 1.8rem;
  }

  p {
    font-size: 1.1rem;
  }
}

/* Animations */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.997);
    filter: blur(4px);
  }
  60% {
    opacity: 0.95;
    transform: translateY(6px) scale(0.999);
    filter: blur(1px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

/* Page slide transition: exit left and enter from right */
body.page-exit {
  overflow: hidden;
}

.page-slide-wrapper {
  transition: transform 280ms cubic-bezier(.22,.9,.3,1), opacity 160ms ease;
  will-change: transform, opacity;
  display: flex;
  flex-direction: column;
  min-height: 100vh; /* ensure wrapper fills viewport so footer can stick */
}

/* when exiting, move whole content left and fade */
body.page-exit .page-slide-wrapper {
  transform: translateX(-18%) translateZ(0) scale(0.995);
  opacity: 0.0;
}

/* directional exits */
body.page-exit-left .page-slide-wrapper { transform: translateX(-18%) translateZ(0) scale(0.995); }
body.page-exit-right .page-slide-wrapper { transform: translateX(18%) translateZ(0) scale(0.995); }

/* when entering, start offscreen right */
body.page-enter .page-slide-wrapper {
  transform: translateX(6%) translateZ(0);
  opacity: 0.0;
}

/* default enter anim (from right -> center)
   page-enter-left will instead come from left */
body.page-enter.active .page-slide-wrapper {
  transform: translateX(0) translateZ(0) scale(1);
  opacity: 1;
}

body.page-enter-left .page-slide-wrapper { transform: translateX(-6%) translateZ(0); }
body.page-enter-right .page-slide-wrapper { transform: translateX(6%) translateZ(0); }

/* when no-enter is set (direct URL loads), avoid animating in */
body.no-enter .page-slide-wrapper { transition: none; transform: none; opacity: 1; }