* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: hsl(0, 0%, 100%);
    width: 100vw;
    height: 100vh;
}

main {
    display:flex;
    flex-direction: column;
    margin: auto;
    width: clamp(1000px, 1200px + 3vw, 90vw);
    height: 750px;
    font-family: "Poppins", sans-serif;
    color: hsl(234, 12%, 34%);
}

#text {
    display: flex;
    justify-content: center;
    width: 100%;
    max-height: 20%;
    margin-bottom: 2em;
}

#text-container {
    width: min(540px, 100%);
    text-align: center;
}

#unbold {
    font-weight: 200;
}

#description {
    padding: 1em;
}

#card-area {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    place-items: center;
    column-gap: 2em;
    row-gap: 2em;
    width: 100%;
    max-height: 100%;
}

.card {
    width: clamp(300px, 300px + 4vw, 450px);
    height: 260px;
    background-color: hsl(0, 0%, 100%);
    border-radius: 0.5em;
    box-shadow: 0 0.5em 1em -0.2em hsl(212, 6%, 44%);
    padding: 2em;
    margin: auto;
}

#karma {
    grid-column: 2;
    border-top: 5px solid hsl(34, 97%, 64%);
}

#calculator {
    grid-column: 3;
    border-top: 5px solid hsl(212, 86%, 64%);
}

#team-builder {
    border-top: 5px solid hsl(0, 78%, 62%);
}

#supervisor {
    border-top: 5px solid hsl(180, 62%, 55%);
}

#calculator, #supervisor {
    grid-row: 1 / 3;
}

.card > p {
    font-size: 15px;
    font-weight: 300;
}

h2 {
    font-weight: 600;
    font-size: 1.2em;
}

img {
    padding: 2em 0 0 0;
    float: right;
}

@media screen and (max-width: 1024px) {
    main {
        height: auto;
        margin-top: 10%;
    }

    #card-area {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, 1fr);
    }

    #supervisor {
        grid-column: 1;
        grid-row: 2;
    }

    #team-builder {
        grid-row: 1;
        grid-column: 1 / 3;
    }

    #calculator {
        grid-column: 2;
        grid-row: 2;
    }

    #karma {
        grid-column: 1 / 3;
        grid-row: 3;
    }
}

@media screen and (max-width: 700px) {
    
    #card-area {
        grid-template-columns: repeat(1, 1fr);
        grid-template-rows: repeat(4, 1fr);
        margin-bottom: 10%;
    }

    #supervisor {
        grid-column: 1;
        grid-row: 2;
    }

    #team-builder {
        grid-column: 1;
        grid-row: 1;
    }

    #calculator {
        grid-column: 1;
        grid-row: 3;
    }

    #karma {
        grid-column: 1;
        grid-row: 4;
    }
    
    h1 {
        font-size: 1.6em;
    }
}