*{
    margin: 0;
    padding: 0;
    font-family: 'Chicago', sans-serif;
    box-sizing: border-box;
}

body{
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background-color: #f8f9fa; /* Subtle off-white */
    color: #333; /* Dark slate for better readability */
}

header{
    background-color: white;
}

header ul{
    float: right;
    list-style: none;
    font-size: 30px;
}

header ul li {
    display: inline-block;
    padding: 10px 40px;
    border-radius: 10px;
}

header ul li a {
  background-image: linear-gradient(
    to right,

    #54b3d6 50%,
    #000 50%
  );
  background-size: 200% 100%;
  background-position: -100%;
  display: inline-block;
  padding: 5px 0;
  position: relative;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: all 0.3s ease-in-out;
}


header ul li a:before{
  content: '';
  background: linear-gradient(
      to right,
      rgba(255, 0, 0, 1),
      rgba(255, 0, 180, 1),
      rgba(0, 100, 200, 1)
  );
  display: block;
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  height: 3px;
  transition: all 0.3s ease-in-out;
}

header ul li a:hover {
 background-position: 0;
}

header ul li a:hover::before{
  width: 100%;
}



main{
    flex-grow: 1;
    margin-bottom: 5vh;
}

footer {
    text-align: center;
    padding: 2rem 1rem;
    color: #777;
    font-size: 0.875rem;
    border-top: 1px solid rgba(0, 0, 0, 0.05);
}

footer a img {
    vertical-align: middle;
    margin-left: 4px;
    margin-bottom: 2px;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

footer a:hover img {
    opacity: 1;
}
