* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

.container {
   width: 100%;
   min-height: 100vh;
   background: rgb(14,4,185);
   background: linear-gradient(135deg, rgba(81,81,255,1) 50%, rgba(14,4,185,1) 100%);
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 20px 0;
}

#menu {
   width: 80%;
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 25px;
}

#menu a { 
   min-width: 100%;
   text-decoration: none;
}

.card {   
   width: 100%;
   height: 100px;
   padding: 0 20px;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items:flex-start;
   background-color: white;
   border: 1px solid lightgray;
   border-radius: 10px;
   box-shadow: 5px 5px 5px lightgray;
   font-size: 16px;
   color: black;
   white-space: nowrap;
}

.title { 
   font-weight: bolder; 
}

.desc {
   font-size: smaller;
   color: gray;
}

@media screen and (max-width: 1024px) {
   #menu {
      grid-template-columns: repeat(3, 1fr);
   }
   .card {   
      padding: 0 10px;
   }
   .title {
      font-size: small;
   }
}

@media screen and (max-width: 640px) {
   #menu {
      width: 90%;
      grid-template-columns: repeat(2, 1fr);
   }
}