
/* -- Typography -- */
body{
    font-family: 'Poppins', sans-serif;
}

.title-light{
    font-size: 2.2rem;
    font-weight: 200;
}

.title-bold{
    font-size: 2.2rem;
    font-weight: 600;
    margin-top: -1.75rem;
    margin-bottom: -0.3215rem;
}

.title-description{
    font-size: 0.9375rem;
}

header{
    margin-top: 2.8125rem;
    text-align: center;
    max-width: 33.75rem;
}

.card-container{
    margin: 3.125rem 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 1.875rem;
}

.card{
    position: relative;
    max-width: 17.875rem;
    height: 12.5rem;
    padding: 1.5625rem 1.875rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 0.5rem 1rem ;
    border-radius: 0.3125rem;
    overflow: hidden;
}

.card img{
    width: 3.4375rem;
    align-self: flex-end;
    margin-top: 2.5rem;
}

.card-title{
    font-size: 1.125rem;
    font-weight: 600;
    margin: 0.1325rem 0;
}

.card-description{
    font-size: 0.8125rem;
    margin: 0;
}

.teambuilder{
    grid-area: 1/2;
}

.karma{
    grid-area: 2/2;
}

.supervisor{
    grid-area: span 2 / 1;
}

.calculator{
    grid-area: span 2 / 3;
}

.teambuilder::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: red;
}

.karma::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: orange;
}

.supervisor::before{
    content: "";
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 4px;
    background-color: cyan;
}

.calculator::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: blue;
}

/* -- Layout -- */
body{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}


.attribution {
    font-size: 11px;
    text-align: center;
}

.attribution a {
    color: hsl(228, 45%, 44%);
}

@media (max-width: 48rem) {

    .header {
        padding: 0 1.25rem;
    }

    .card-container {
        grid-template-columns: 1fr;
    }

    .card {
        grid-area: auto;
        max-width: 15.9375rem;
        margin-bottom: 0.4375rem;
    }

    .card img {
        width: 3.75rem;
    }

    .title-light {
        font-size: 1.625rem;
    }

    .title-bold {
        font-size: 1.625rem;
        margin-top: -1.5625rem;
    }

    .title-description {
        margin-top: 1.25rem;
    }
}