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

html{
    font-size: 15px;
}

body{
    background-color: hsl(300, 24%, 96%);
    display: flex;
    flex-direction: column;
    gap:30px;
    font-family: "League Spartan";
    padding:3rem 2rem;
    max-width:500px;
    margin:0 auto;
}

.description-title{
    text-align: center;
    font-size: 2.5rem;
    color:hsl(300, 43%, 22%);
    font-weight: 700;
}

.description-text{
    margin-top:1rem;
    text-align: center;
    font-size: 1.2rem;
    color:hsl(303, 10%, 53%);
}
.rating-container{
    text-align: center;
    display: flex;
    flex-direction: column;
    gap:1rem;
}
.review{
    background-color: hsl(303, 10%, 90%);
    border-radius: 10px;
    padding:1rem 0;
}

.review p{
    padding-top:0.5rem;
    color:hsl(300, 43%, 22%);
    font-weight: 600;
}

.testimonials{
    display: flex;
    flex-direction: column;
    gap:1rem;
}
.card{
    background-color: hsl(300, 43%, 22%);
    border-radius:10px;
    padding:2rem;
}

.card-header {
    display: flex;
    gap:1.5rem;
    align-items: center;
    font-size: 1.2rem;
}

.card-header img{
    border-radius: 50%;
    width: 50px;
}

.header-description span {
    color:hsl(333, 80%, 67%);
    font-weight: 400;
    font-size: 1.2rem;
}
.name{
    color:hsl(0, 0%, 100%);
    margin-bottom:0.4rem;
    font-weight: 600;
    font-size: 1.35rem;
}

.message{
    color:hsl(0, 0%, 100%);
    padding-top:1rem;
    line-height: 1.5;
    font-size: 1.2rem;
    font-weight: 400;
}

@media(min-width:1150px){
    body{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr 1fr 0.1fr;
        max-width: none;
        width:100%;
        height: 100vh;
        max-width:1200px;
        padding: 4rem 3rem;
        gap:0;
    }

    .description{
        display: flex;
        flex-direction: column;
        grid-column: 1;
        grid-row:1;
        width:80%;
        justify-content: center;
    }

    .rating-container{
        justify-content: center;
    }

    .description-title{
        font-size: 3.5rem;
        text-align: left;
    }

    .description-text{
        text-align: left;
        margin-top:2rem;
    }
    .rating-container{
        grid-row:1;
        grid-column: 2;
        justify-content: center;
    }

    .review{
        width:60%;
    }
    
    
    .review:nth-of-type(2){
        align-self: center;
    }
    .review:nth-of-type(3){
        align-self:flex-end;
    }
    .testimonials{
        grid-column: 1/3;
        grid-row:2;
        flex-direction: row;
        justify-content: space-between;
        gap:0;
    }

    .card{
        max-width:350px;
        min-height: 200px;
    }
    .message{
        font-size: 1rem;
    }
    .card:nth-of-type(1){
        align-self: flex-start;
    }
    .card:nth-of-type(2){
        align-self: center;
    }
    .card:nth-of-type(3){
        align-self:flex-end;
    }
    .attribution{
        grid-row:3;
        grid-column: 1/3;
        align-self: center;
    }

}