/*=============== VARIABLES CSS ===============*/
:root {
    /*========== Colors ==========*/
    /*Color mode HSL(hue, saturation, lightness)*/
    --first-color: hsl(82, 60%, 28%);
    --title-color: hsl(0, 0%, 15%);
    --body-color: hsl(0, 0%, 95%);
    --container-color: hsl(0, 0%, 100%);
  
    /*========== Font and typography ==========*/
    /*.5rem = 8px | 1rem = 16px ...*/
    --h2-font-size: 1.25rem;
    --small-font-size: .813rem;
  }
  
  /*========== Responsive typography ==========*/
  @media screen and (min-width: 1120px) {
    :root {
      --h2-font-size: 1.5rem;
      --small-font-size: .875rem;
    }
  }
  
  /*=============== BASE ===============*/
  * {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
  }
  h1{
    color: #000;
  }
  body {
    background-color: var(--body-color);
    color: var(--text-color);
  }
  
  img {
    display: block;
    max-width: 100%;
    height: auto;
  }
  
  /*=============== CARD ===============*/
  .container_content{
    display: grid;
    place-items: center;
    margin-inline: 1.5rem;
    padding-block: 5rem;
  }
  
  .card__container {
    display: grid;
    row-gap: 3.5rem;
  }
  
  .card__article {
    position: relative;
    overflow: hidden;
  }
  
  .card__img {
    width: 250px;
    border-radius: 1.5rem;
  }
  
  .card__data {
    width: 220px;
    background-color: var(--container-color);
    padding: 1.5rem 2rem;
    box-shadow: 0 8px 24px hsla(0, 0%, 0%, .15);
    border-radius: 1rem;
    position: absolute;
    bottom: -9rem;
    left: 0;
    right: 0;
    margin-inline: auto;
    opacity: 0;
    transition: opacity 1s 1s;
  }
  
  .card__description {
    display: block;
    font-size: var(--small-font-size);
    margin-bottom: .25rem;
  }
  
  .card__title {
    font-size: var(--h2-font-size);
    font-weight: 500;
    color: var(--title-color);
    margin-bottom: .75rem;
  }
  
  .card__button {
    text-decoration: none;
    font-size: var(--small-font-size);
    font-weight: 500;
    color: var(--first-color);
  }
  
  .card__button:hover {
    text-decoration: underline;
  }
  
  /* Naming animations in hover */
  .card__article:hover .card__data {
    animation: show-data 1s forwards;
    opacity: 1;
    transition: opacity .3s;
  }
  
  .card__article:hover {
    animation: remove-overflow 2s forwards;
  }
  
  .card__article:not(:hover) {
    animation: show-overflow 2s forwards;
  }
  
  .card__article:not(:hover) .card__data {
    animation: remove-data 1s forwards;
  }
  
  /* Card animation */
  @keyframes show-data {
    50% {
      transform: translateY(-10rem);
    }
    100% {
      transform: translateY(-7rem);
    }
  }
  
  @keyframes remove-overflow {
    to {
      overflow: initial;
    }
  }
  
  @keyframes remove-data {
    0% {
      transform: translateY(-7rem);
    }
    50% {
      transform: translateY(-10rem);
    }
    100% {
      transform: translateY(.5rem);
    }
  }
  
  @keyframes show-overflow {
    0% {
      overflow: initial;
      pointer-events: none;
    }
    50% {
      overflow: hidden;
    }
  }
  
  /*=============== BREAKPOINTS ===============*/
  /* For small devices */
  @media screen and (max-width: 340px) {
    .container_content {
      margin-inline: 1rem;
    }
  
    .card__data {
      width: 250px;
      padding: 1rem;
    }
  }
  
  /* For medium devices */
  @media screen and (min-width: 768px) {
    .card__container {
      grid-template-columns: repeat(2, 1fr);
      column-gap: 1.5rem;
    }
  }
  
  /* For large devices */
  @media screen and (min-width: 1120px) {
    .container_content {
      height: 100vh;
    }
  
    .card__container {
      grid-template-columns: repeat(4, 1fr);
    }
    .card__img {
      width: 348px;
    }
    .card__data {
      width: 250px;
      padding-inline: 2.5rem;
    }
  }