:root {

    /* Primary Colors */
    --red-color: hsl(0, 78%, 62%);
    --cyan-color: hsl(180, 62%, 55%);
    --orange-color: hsl(34, 97%, 64%);
    --blue-color: hsl(212, 86%, 64%);

    /* Neutral Colors */
    --grey-color-500: hsl(234, 12%, 34%);
    --grey-color-400: hsl(212, 6%, 44%);
    --white-color: hsl(0, 0%, 100%);

}

* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

html {
    font-family: "Poppins", sans-serif;
    background-color: var(--white-color);
    color: var(--grey-color-400);
    font-size: 15px;
    font-weight: 400;
}

.center-wrapper {
    display: grid;
    place-items: center;
    height: 100vh;
}

@media (max-width: 375px) {
    .center-wrapper {
        margin: 50px auto;
    }
}

.container {
    display: flex;
    flex-direction: column;
    margin: 120px;
    align-items: center;
}

@media (max-width: 1440px) {
    .container {
        margin: 100px;
    }
}

@media (max-width: 375px) {
    .container {
        margin: 20px;
    }
}

.container .heading {
    max-width: 500px;
    text-align: center;
}

.container .heading .page-title {
    font-weight: 600;
    margin-bottom: 20px;
}

.container .heading .page-title-span {
    font-weight: 200;
    display: block;
}

.container .cards {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    margin: 50px auto;
    align-items: center;
}

.container .cards .card {
    position: relative;
    padding: 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    box-shadow: 0 4px 16px -6px var(--grey-color-400);
    overflow: hidden;
    border-radius: 8px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
}

.container .cards .card .card-title {
    font-weight: 600;
    font-size: 18px;
}

.container .cards .card .card-details {
    font-weight: 200;
}

.container .cards .card .card-image {
    width: 70px;
    margin: 20px 0;
    align-self: flex-end;
}

.container .cards .card::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 4px;
    top: 0;
    left: 0;
}

.container .cards .cyan,
.container .cards .red,
.container .cards .orange,
.container .cards .blue {
    grid-column: auto;
    grid-row: auto;
    align-self: center;
}

@media (min-width: 787px) {
    .container .cards {
        grid-template-columns: repeat(3, minmax(200px, 1fr));
    }

    .container .cards .cyan {
        grid-row: 1/ span 2;
        align-self: center;
    }

    .container .cards .red {
        grid-column: 2;
    }

    .container .cards .orange {
        grid-column: 2;
    }

    .container .cards .blue {
        grid-column: 3;
        grid-row: 1/ span 2;
        align-self: center;
    }
}

@media (min-width: 1440px) {
    .container .cards {
        grid-template-columns: repeat(3, minmax(350px, 1fr));
    }

    .container .cards .cyan {
        grid-row: 1/ span 2;
        align-self: center;
    }

    .container .cards .red {
        grid-column: 2;
    }

    .container .cards .orange {
        grid-column: 2;
    }

    .container .cards .blue {
        grid-column: 3;
        grid-row: 1/ span 2;
        align-self: center;
    }
}

.container .cards .cyan::before {
    background-color: var(--cyan-color)
}

.container .cards .red::before {
    background-color: var(--red-color);
}

.container .cards .orange::before {
    background-color: var(--orange-color)
}

.container .cards .blue::before {
    background-color: var(--blue-color)
}

.attribution {
    text-align: center;
    margin: 30 auto;
}

.attribution a {
    color: var(--blue-color);
    font-style: italic;
    font-weight: 600;
    text-decoration: none;
}