* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a{
  color: rgb(133, 143, 235);
  transition: color 0.5s; font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}

a:link{
  max-width: 300px;
  height: 290px;
}

article{
  max-width: 300px;
  height: 290px;
  background-color: rgb(73, 43, 226);
  position:relative;
}
header{
  background-color: rgb(19, 30, 92);
  padding: 20px;
}

body{
  background-color: rgb(196, 191, 247);
}

h1{
  color: rgb(44, 61, 158);
  font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
  padding: 30px;
  font-size: 45px;
  text-align: center;
}
figure{
  width: 100%;
  margin: 0;
  padding: 0;
}

#cards{
  display: grid;
  grid-template-columns: 1fr;
  /*min-width: 500px;*/
  aspect-ratio: 11 / 3;
  padding: 2rem;
  gap: 3rem;
}

#cards img{
  width: 100%;
  aspect-ratio: 19 / 10;
  object-fit: cover;
  top: 0;
}

#cards article{
  border-radius: 20px;
}

#cards figure{
  position: relative;
}

#cards section{
  position: absolute;
  bottom: 0;
  top: 14.12rem;
}

#cards .top{
  opacity: 0;
  position: absolute;
  top: 1.7rem;
  left:0;
  transition: 0.25s;
}

#cards a:hover .top{
  opacity: 1;
  transform: translateY(-1.7rem);
}


#cards a:hover section{
  transform: translateY(-1rem);
  transition: transform 0.25s;
}

#cards p{
  opacity: 0;
  text-align: center;
  margin-top: 5px;
}

#cards a:hover p{
  opacity: 1;
  transition: 0.25s;
}

#cards h2{
  font-size: 25px;
  text-align: center;
}

@media only screen and (min-width: 1250px) {
  #cards{
      grid-template-columns: 1fr 1fr 1fr;
      
  }
}
@media only screen and (min-width: 1700px) {
  #cards{
      grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  
}