body {
    background-color: black;
    color: #ffffff;
}
/* Style the navbar */
#navbar {
    display: flex;          /* Use flexbox for layout */
    justify-content: space-between; /* Distributes space to push the links to each side and center */
    overflow:hidden;
    background-color: rgb(0, 0, 0);
}

/* Navbar links */
#navbar a {
    display: block;
    color: #ffffff;
    text-align: center;
    padding: 14px;
    font-size: 25px;
    text-decoration: none;
}

/* Align items as per their classes */
#navbar .left { /* No specific styling needed, defaults to left */
    text-align: left;
}
#navbar .center {
    flex-grow: 1;  /* Allows the center link to take up extra space */
    text-align: center;
}
#navbar .right {
    text-align: right;
}

/* Page content */
.content {
    padding: 16px;
    width: 70%;
}

/* The sticky class is added to the navbar with JS when it reaches its scroll position */
.sticky {
    position: fixed;
    top: 0;
    width: 99%;
    transform: translateZ(0); /* Promote layer */
}
/* Add some top padding to the page content */
.sticky + .content {
    padding-top: 60px;
}

/* The sidebar menu */
.sidenav {
    height: 90%; /* Full-height: remove this if you want "auto" height */
    width: 275px; /* Set the width of the sidebar */
    position: fixed; /* Fixed Sidebar (stay in place on scroll) */
    z-index: 1; /* Stay on top */
    top: 10; /* Stay at the top */
    left: 80%;
    background-color: rgb(0, 0, 0); /* Black */
    overflow-x: hidden; /* Disable horizontal scroll */
    padding-top: 220px;
    
  }
  
  /* The navigation menu links */
  .sidenav a {
    padding: 25px 8px 6px 16px;
    text-decoration: none;
    font-size: 35px;
    color: #ffffff;
    display: block;
  }
  
  /* When you mouse over the navigation links, change their color */
  .sidenav a:hover {
    color: #c4c2c2;
    
  }
  
  /* Style page content */
  .main {
    width: 88%;
    padding: 0px 10px;
    color: #ffffff;
  }
  
  .initialContent {
      margin-top: 10%;
      font-size: 75px;
      padding: 0%;
      margin-bottom: 20%;
  }
  .initialContent h1 {
      margin: 0%;
      padding: 0%;
  }
  /* On smaller screens, where height is less than 450px, change the style of the sidebar (less padding and a smaller font size) */
  @media screen and (max-height: 450px) {
    .sidenav {padding-top: 15px;}
    .sidenav a {font-size: 18px;}
  }
  .title {
      margin-left: 10%;
      font-size: 45px;
  }

  @keyframes rainbow-animation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
  }
  
  h1.moving-rainbow {
    background: linear-gradient(90deg, red, orange, yellow, green, blue, indigo, violet );
    background-size: 200% 200%;
    -webkit-background-clip: text;
    color: transparent; /* Hide the text color, show the gradient */
    animation: rainbow-animation 4s linear infinite; /* Adjust time as needed */
    display: inline-block; /* Required to size the gradient to the text */
  }
  
  /* Optional: Make sure the text remains visible on browsers that don't support the clip property */
  .no-background-clip h1.moving-rainbow,
  h1.moving-rainbow:after {
    background: none;
    color: initial;
  }
  h2 {
      margin-left: -7% ;
  }
  h3 {
      margin-left: -4%;
      margin-bottom: 0%;
  }
  p {
      font-size: large;
  }
  /* The Overlay (background) */
.overlay {
    /* Height & width depends on how you want to reveal the overlay (see JS below) */    
    height: 0%;
    width: 100%;
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    left: 0;
    top: 0;
    background-color: rgb(0,0,0); /* Black fallback color */
    background-color: rgba(0,0,0, 0.9); /* Black w/opacity */
    overflow-x: hidden; /* Disable horizontal scroll */
    transition: 0.5s; /* 0.5 second transition effect to slide in or slide down the overlay (height or width, depending on reveal) */
  }
  
  /* Position the content inside the overlay */
  .overlay-content {
    position: relative;
    top: 5%; /* 25% from the top */
    height: 100%; /* 100% width */
    text-align: center; /* Centered text/links */
    margin-top: 30px; /* 30px top margin to avoid conflict with the close button on smaller screens */
  }
  
  /* The navigation links inside the overlay */
  .overlay a {
    padding: 8px;
    text-decoration: none;
    font-size: 36px;
    color: #818181;
    display: block; /* Display block instead of inline */
    transition: 0.3s; /* Transition effects on hover (color) */
  }
  
  /* When the mouse is over the navigation links, changes their color */
  .overlay a:hover, .overlay a:focus {
    color: #f1f1f1;
  }
  
  /* Position the close button (top right corner) */
  .overlay .closebtn {
    position: absolute;
    top: 20px;
    right: 45px;
    font-size: 60px;
  }
  
  /* When the height of the screen is less than 450 pixels, change the font-size of the links and position the close button again, so they don't overlap */
  @media screen and (max-height: 450px) {
    .overlay a {font-size: 20px}
    .overlay .closebtn {
      font-size: 40px;
      top: 15px;
      right: 35px;
    }
  }

  @keyframes fallAndRise {
    0%, 100% {
      transform: translateY(0) scale(1);
      opacity: 1;
    }
    50% {
      transform: translateY(50vh) scale(2);
      opacity: 0.5;
    }
  }
  
  #animatedTitle span {
    display: inline-block;
    animation-name: fallAndRise;
    animation-duration: 5s;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
    opacity: 1;
    transition: transform 0.5s;
  }

/* Mobile Styles */
@media screen and (max-width: 768px) { /* Adjust the max-width as necessary */

    /* Make navbar links stack vertically and larger for touch-friendliness */
    #navbar a {
      display: block;
      width: 100%;
      padding: 14px;
      text-align: left;
      font-size: 18px; /* Larger font size for easy touch */
    }
  
    /* Adjust the side navigation for mobile view */
    .sidenav {
      width: 100px; /* Smaller width on mobile */
      left: auto; /* Stick to the right or override as needed */
      top: auto; /* Adjust top as needed */
      padding-top: 15px; /* Less padding on top */
      font-size: 18px; /* Larger font size for easy touch */
    }
  
    /* Hide the side navigation by default and toggle it */
    .sidenav {
      width: 0;
      overflow: hidden;
    }
  
    /* Adjust content container layout for mobile */
    .content-container,
    .main,
    .title,
    .content {
      /* Adjust margins, padding, or font sizes as needed */
      margin: 10px;
      padding: 10px;
      font-size: 16px; /* Make font size readable on small screens */
    }
  
    /* Scale down the animated title for smaller screens */
    #animatedTitle span {
      font-size: 14px; /* Smaller font size for the animated title */
    }
  

  }
  
  * {
    box-sizing: border-box;
  }
  
  /* The actual timeline (the vertical ruler) */
  .timeline {
    position: relative;
    max-width: 200px;
    margin: 0 auto;
    left: -20%;
  }
  
  /* The actual timeline (the vertical ruler) */
  .timeline::after {
    content: '';
    position: absolute;
    width: 6px;
    background-color: rgb(109, 109, 109);
    top: 0;
    bottom: 0;
    left: 50%;
    margin-left: -3px;
  }
  
  /* Container around content */
  .container {
    padding: 10px 40px;
    position: relative;
    background-color: inherit;
    width: 50%;
  }
  
  /* The circles on the timeline */
  .container::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    right: -17px;
    background-color: black;
    border: 4px solid #b5ff55;
    top: 15px;
    border-radius: 50%;
    z-index: 1;
  }
  
  /* Place the container to the left */
  .left {
    left: 0;
  }
  
  /* Place the container to the right */
  .right {
    left: 50%;
  }
  
  /* Add arrows to the left container (pointing right) */
  .left::before {
    content: " ";
    height: 0;
    position: absolute;
    top: 22px;
    width: 0;
    z-index: 1;
    right: 30px;
    border: medium solid white;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent white;
  }
  
  /* Add arrows to the right container (pointing left) */
  .right::before {
    content: " ";
    height: 0;
    position: absolute;
    top: 22px;
    width: 0;
    z-index: 1;
    left: 30px;
    border: medium solid white;
    border-width: 10px 10px 10px 0;
    border-color: transparent white transparent transparent;
  }
  
  /* Fix the circle for containers on the right side */
  .right::after {
    left: -16px;
  }
  
  /* The actual content */
  .timeline-content {
    padding: 20px 30px;
    background-color: rgb(0, 0, 0);
    position: relative;
    border-radius: 6px;
    font-size: medium;
  }
  
  /* Media queries - Responsive timeline on screens less than 600px wide */
  @media screen and (max-width: 600px) {
  /* Place the timelime to the left */
    .timeline::after {
      left: 31px;
    }
  
  /* Full-width containers */
    .container {
      width: 100%;
      padding-left: 70px;
      padding-right: 25px;
    }
  
  /* Make sure that all arrows are pointing leftwards */
    .container::before {
      left: 60px;
      border: medium solid white;
      border-width: 10px 10px 10px 0;
      border-color: transparent white transparent transparent;
    }
  
  /* Make sure all circles are at the same spot */
    .left::after, .right::after {
      left: 15px;
    }
  
  /* Make all right containers behave like the left ones */
    .right {
      left: 0%;
    }
  }

.left .timeline-content{
    left: -90px;
    top: -30px;

}
.right .timeline-content {
    top: -30px;
}