main {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: center;
}
.grid-tarifas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.feature {
    position: relative;
    display: flex;
    flex-flow: column;
    padding: 10px 25px 50px 25px;
    border: 7px solid;
    border-radius: 35px;
    margin: 30px 50px;
    align-items: center;
    justify-content: center;
    flex: 1 1 0%;
    flex-grow: 0;
}
.oferta {
    font-size: 24px;
    font-weight: bold;
    border-radius: 30px 30px 30px 0;
    padding: 5px 50px;
    text-align: center;
    position: absolute;
    top: -50px;
    left: -30px;
}
.oferta::after {
  content: "";
  position: absolute;
  bottom: -25px;
  left: 1px;
  width: 0;
  height: 0;
  border-bottom: 25px solid transparent;
}
.verano{background-color: #eeb370;}
.verano::after {border-right: 25px solid #c27520;}
.inicio-curso {background-color: #b5d8d6;}
.inicio-curso::after {border-right: 25px solid #6b9996;}
.descripcion {
    font-size: 24px;
    margin: 25px 40px 15px 40px;
    text-align: center;
}
.feature h1 {text-align: center;}
.precios {
    display: grid;
    align-items: center;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}
.precios p {
    padding: 25px 15px;
    text-align: center;
}
.info {
    text-align: center;
    margin-top: 20px;
}
.periodo {
    font-size: 18px;
    background-color: #8ca79b;
    font-weight: bold;
}
.mes {
    font-size: 18px;
    text-align: center;
    background-color: #dcefee;
}
.hora {
    font-size: 18px;
    text-align: center;
    background-color: #dcefee;
}
.cobros {
    display: grid;
    grid-template-columns: 6fr 2fr;
    grid-column: span 2;
    margin: 30px 50px;
    background-color: #8ca79b;
    border-radius: 35px;
    padding: 10px 25px;
}
.rrss {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    grid-row: span 2;
}
.fa-3x {
    width: 70px;
    height: 70px;
}
.fa-inbox {
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    background-color: #940200;
    border-radius: 50%;
}
.titulo {
    font-size: 25px;
    font-weight: bold;
    margin: 20px;
}
.cobros p {
    font-size: 18px;
    margin: 25px 70px;
}
.cobros form {
    text-align: center;
}
#registrar {
    padding: 20px 90px;
    font-size: 18px;
    margin: 20px auto;
    font-weight: bold;
}

@media (max-width: 768px) {
  .grid-tarifas {
    flex-direction: column;
    align-items: center;
  }

  .feature {
    width: 90%;
    margin: 20px 0;
  }

  .precios {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

@media (max-width: 768px) {
  .cobros {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    text-align: center;
    margin: 20px;
  }

  .cobros p {
    margin: 20px;
  }

  .rrss {
    flex-direction: row;
    justify-content: center;
    gap: 30px;
    margin: 20px 0;
  }

  .titulo {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  #oferta {
    font-size: 18px;
    padding: 5px 20px;
    top: -40px;
    left: -20px;
  }

  .descripcion,
  .info,
  .feature h1 {
    font-size: 20px;
  }

  .periodo, .mes, .hora {
    font-size: 16px;
    padding: 15px;
  }

  .titulo {
    font-size: 20px;
  }

  .cobros p {
    font-size: 16px;
    margin: 15px;
  }

  #registrar {
    padding: 15px 60px;
    font-size: 16px;
  }
}
