*,
*:after,
*:before {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
    transition: .3s ease-in-out;
}

html {
    font-size: 16px;
}

.container {
    width: 100%;
    background-color: black;
    display: grid;
    justify-content: center;
    grid-template-rows: 250px max-content 881px;
}

.content {
    grid-row: 2/3;
    display: grid;
    grid-template-rows: calc(1080px - 250px) 1080px max-content 865px max-content;
}

.start {
    grid-row: 1/2;
    color: white;
    background: url("../assets/images/images.png") no-repeat top/cover;
    margin: 0 0 256px 0;
    display: flex;
    justify-content: center; 
    align-items: center;     
    text-align: center;
    h1 {
        padding: 0;
        font-size: 4rem;
        text-align: center;
        line-height: 7.25rem;
    }
    /*пока фоном картинки*/

}

.about {
    grid-row: 2/3;
    background-color: white;
    padding: 0 0 0 298px;
    display: grid;
    grid-template-rows: repeat(2, auto);
    grid-template-columns: repeat(2, auto);
    column-gap: 92px;

    p {
        padding: 30px 0 0 0;
    }
}

.about-block-1 {
    background: linear-gradient(45.00deg, #FBDBD0, #A2CBD1 100%);
    grid-row: 1/3;
    grid-column: 1/2;
    max-width: 465px;
    width: 100%;

    .about-block-text-1 {
        padding: 308px 57px 0 57px;
    }
}

.about-block-2,
.about-block-3 {
    display: flex;
    align-content: center;
    align-items: center;
    gap: 46px;

    .about-block-text-2 {
        padding: 0 102px 0 0;
        width: 570px;
    }

    .about-block-text-3 {
        padding: 0 102px 0 0;
        width: 570px;
    }

    .img-about {
        width: 350px;
        height: 405px;
        border-radius: 10px;

        img {
            width: 100%;
            height: 100%;
            border-radius: 10px;
        }
    }
}

.about-block-2 {
    grid-row: 1/2;
    grid-column: 2/3;
}

.about-block-3 {
    grid-row: 2/3;
    grid-column: 2/3;
}

.services {
    height: fit-content;
    grid-row: 3/4;
    background: linear-gradient(42.17deg, #F297B2 29.53%, #FBDBD0 79.03%);
    padding: 100px 350px;
    display: grid;
    grid-template-rows: 300px min-content;
    gap: 65px;
    justify-content: center;
}

.services-text {
    grid-row: 1/2;
    justify-items: center;
    align-items: center;

    div {
        max-width: 560px;
        width: 100%;

        h2 {
            padding: 0 0 20px 0;
            text-align: center;
        }

        p {
            text-align: center;
        }
    }
}

.services-section {
    grid-row: 2/3;
    display: grid;
    grid-template-columns: repeat(6, minmax(75px, 175px));
    grid-template-rows: 405px 405px;
    gap: 65px;
}

.block-ru,
.block-ba,
.block-zh {
    button {
        background: #FBDBD0;
    }
}

.block-ko,
.block-tr,
.block-en {
    button {
        background: #F297B2;
    }
}

.img-lang {
    width: 310px;
    height: 183px;
    border-radius: 10px;

    img {
        width: 100%;
        height: 100%;
        border-radius: 10px;
    }
}

.block-ru,
.block-ba,
.block-en,
.block-ko,
.block-tr,
.block-zh {
    background: #FFFFFF;
    border-radius: 10px;
    justify-items: center;
    align-items: center;
    padding: 16px 20px 32px 20px;
    display: flex;
    flex-direction: column;

    p {
        font-size: 1rem;
        line-height: 1.188rem;
        text-align: center;
        padding: 0 0 20px 0;
    }

    button {
        cursor: pointer;
        width: 228px;
        padding: 5px 30px;
        font-size: 1rem;
        font-family: "Inter", sans-serif;
        font-optical-sizing: auto;
        font-weight: normal;
        font-style: normal;
        line-height: 1.188rem;
        margin: 0;
        text-align: center;
        border: none;
        border-radius: 50px;

        a {
            text-decoration: none;
            color: black;
        }

        a:hover {
            text-decoration: none;
            color: black;
        }

        a:active {
            text-decoration: none;
            color: black;
        }
    }
}

.block-ru {
    grid-row: 1/2;
    grid-column: 1/3;
}

.block-ba {
    grid-row: 1/2;
    grid-column: 3/5;
}

.block-zh {
    grid-row: 1/2;
    grid-column: 5/7;
}

.block-en {
    grid-row: 2/3;
    grid-column: 2/4;
}

.block-tr {
    grid-row: 2/3;
    grid-column: 4/6;
}

.rates {
    grid-row: 4/5;
    background-color: #EBEBEB;
    padding: 100px 250px;
    justify-items: center;
}

.rates-text {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    max-width: 1080px;
    width: 100%;

    h2 {
        padding: 0 0 20px 0;
        text-align: center;
    }

    p {
        text-align: center;
    }
}

.rates-form {
    margin: 77px 0 0 0;
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    max-width: 1414px;
    width: 100%;
}

form {
    border-radius: 10px;
    padding: 23px;
    height: 300px;
    width: 100%;
    background: white;
    display: flex;
    flex-direction: column;
}

input {
    cursor: pointer;
    border-radius: 50px;
    height: 32px;
    width: 228px;
    background: white;
    outline: none;
    border: 1px solid black;
    margin: 23px 0 0 auto;
}

textarea {
    resize: none;
    background: white;
    outline: none;
    height: 100%;
    border: none;
}

.reviews {
    grid-row: 5/6;
    color: white;
    padding: 100px 250px;
    display: flex;
    gap: 57px;
    align-items: center;
    
    img {
        max-width: 720px;
        width: 100%;
        height: 924px;
        border-radius: 10px;
        object-fit: cover;
    }

    p {
        padding: 30px 0;
    }

    h2 {
        padding: 0 159px 0 0;
    }

    button {
        cursor: pointer;
        padding: 28px 104px;
        border-radius: 50px;
        border: none;
        font-size: 2rem;
        font-family: "Inter", sans-serif;
        font-optical-sizing: auto;
        font-weight: normal;
        font-style: normal;

        a {
            text-decoration: none;
            color: black;
        }
    }
}

/*desktop*/
@media (1440px <= width <=1920px) {
    .container {
        min-width: 1440px;
        max-width: 1920px;
        width: 100%;
    }

    @media (width <=1850px) {
        .services {
            padding: 100px 150px;
            gap: 35px;
        }

        .block-ru,
        .block-ba,
        .block-en,
        .block-ko,
        .block-tr,
        .block-zh {
            padding: 15px;
        }

        .img-lang {
            width: 100%;
        }
    }

    @media (width <=1650px) {
        .about {
            padding: 0 0 0 100px;
            column-gap: initial;
        }

        .about-block-1 {
            max-width: 400px;

            .about-block-text-1 {
                padding: 308px 43px 0 43px;
            }
        }

        .about-block-2,
        .about-block-3 {
            gap: 20px;

            .about-block-text-2,
            .about-block-text-3 {
                padding: 0 62px 0 0;
            }

            .img-about {
                width: 300px;
            }
        }
    }
    .reviews{
        padding: 100px;
        img{
            width: 100%;
            height: auto;
        }
        h2{
            padding: 0 120px 0 0;
        }
    }
}

@media (1024px <= width <=1440px) {
    .container {
        min-width: 1024px;
        max-width: 1440px;
        width: 100%;
    }

    .about {
        padding: 0 0 0 100px;
        column-gap: 75px;
        grid-template-columns: max-content auto;
    }

    .about-block-1 {
        max-width: 400px;

        .about-block-text-1 {
            padding: 308px 43px 0 43px;
        }
    }

    .about-block-2 {
        padding: 75px 0 0 0;
    }

    .about-block-2,
    .about-block-3 {
        gap: initial;
        flex-direction: column;
        height: fit-content;
        align-items: start;

        p {
            padding: 15px 0 0 0;
        }

        .about-block-text-2,
        .about-block-text-3 {
            padding: 0 62px 0 0;
        }

        .img-about {
            width: 200px;
            height: 200px;
        }
    }

    .services {
        padding: 100px 50px;
        gap: 35px
    }

    .services-section {
        gap: 35px;
    }

    .block-ru,
    .block-ba,
    .block-en,
    .block-ko,
    .block-tr,
    .block-zh {
        padding: 15px;
    }

    .img-lang {
        width: 100%;
    }

    .reviews {
        padding: 80px 100px;
        gap: 40px;

        img {
            max-width: 480px;
        }

        button {
            width: 100%;
        }
    }

    @media (width <=1166px) {
        .about {
            column-gap: 40px;
        }

        .about-block-2,
        .about-block-3 {
            height: 430px;

            p {
                padding: 15px 0 0 0;
            }

            .about-block-text-2,
            .about-block-text-3 {
                padding: 0 62px 0 0;
            }

            .img-about {
                padding: 0 0 15px 0;
            }
        }

        .about-block-3 {
            justify-content: start;
        }

        .reviews {
            padding: 0 50px;
            gap: 40px;

            img {
                max-width: 480px;
            }

            button {
                width: 100%;
            }

            .reviews-text {
                width: 400px;
            }
        }
    }
}

@media (width <= 1200px) {
    
    .services-section {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        overflow-x: auto;
        overflow-y: hidden;
        width: 100%;
        border-radius: 10px;
        gap: 20px;
        height: fit-content;
    }
    .block-ru,
    .block-ba,
    .block-en,
    .block-ko,
    .block-tr,
    .block-zh {
        flex-shrink: 0; 
        width: 350px;
        height: 405px;
    }
}

/*tablet*/
@media (width <=1024px) {
    .container {
        min-width: 750px;
        max-width: 1024px;
        width: 100%;
        grid-template-rows: 250px auto 700px;
    }

    .content {
        grid-template-rows: calc(1080px - 250px) max-content max-content max-content max-content;
    }

    .about {
        padding: 0 0 0 0;
        justify-content: center;
        gap: 50px;
        padding: 0 100px 0 0;
    }

    .about-block-1 {
        width: 100%;
        align-content: center;

        .about-block-text-1 {
            padding: 0 40px;
        }
    }

    .about-block-2,
    .about-block-3 {
        gap: initial;
        flex-direction: column;
        align-items: start;

        p {
            padding: 15px 0 0 0;
        }

        .about-block-text-2,
        .about-block-text-3 {
            padding: 0 0 0 0;
            width: 100%;
        }

        .img-about {
            padding: 0 0 15px 0;
            width: 200px;
            height: 200px;
        }
    }

    .about-block-3 {
        justify-content: start;
    }

    .about-block-2 {
        padding: 80px 0 0 0;
    }

    .about-block-3 {
        padding: 0 0 80px 0;
    }

    .services {
        grid-template-rows: 230px auto;
        gap: 50px;
        padding: 80px 100px;
    }

    .img-lang {
        min-width: 210px;
        max-width: 310px;
    }

    .rates {
        padding: 80px 100px;
    }

    .reviews {
        /* flex-direction: column; */
        padding: 80px 100px;

        img {
            object-position: left bottom;
            align-self: flex-start;
            max-width: 300px;
            height: 100%;
        }

        h2 {
            padding: initial;
        }

        .reviews-text {
            display: flex;
            flex-direction: column;
        }

        button {
            justify-self: center;
            padding: 25px;
        }
    }
}

@media (width <=950px) {
    .about {
        padding: 0 60px 0 0;
    }

    .services {
        gap: 35px;
    }

    .services-section {
        gap: 35px;
    }

    .servies,
    .rates,
    .reviews {
        padding: 80px 60px;
    }

    .reviews {
        gap: 35px;
    }

    .block-ru,
    .block-ba,
    .block-en,
    .block-ko,
    .block-tr,
    .block-zh {
        width: 300px;
    }

    .img-lang {
        width: 260px;
    }
}

@media (width <=750px) {
    .container {
        min-width: 350px;
        max-width: 750px;
        width: 100%;
        grid-template-rows: repeat(3, max-content);
    }

    .content {
        grid-template-rows: max-content max-content max-content max-content max-content;
    }

    .start {
        margin: 0 0 80px 0;
        height: 700px;
        background-size: cover;
    }

    .services,
    .rates,
    .reviews {
        padding: 80px 40px;
    }

    .img-lang {
        width: 260px;
    }

    .reviews {
        display: flex;
        flex-direction: column;

        img {
            max-width: 720px;
            min-width: 100%;
            height: 50%;
        }

        h2 {
            padding: initial;
        }

        button{
            font-size: 1.7rem;
            padding: 15px;
        }

        height: fit-content;
    }
}

@media (width <=630px) {
    .about {
        display: flex;
        flex-direction: column;
        gap: 40px;
        padding: initial;

        p {
            padding: 0;
        }
    }

    .about-block-1 {
        max-width: initial;

        .about-block-text-1 {
            padding: 40px;
        }
    }

    .about-block-2,
    .about-block-3 {
        flex-direction: column;
        gap: initial;
        padding: 0 40px;

        .img-about {
            width: 100%;
            height: auto;
        }

        .about-block-text-2,
        .about-block-text-3 {
            width: 100%;
            padding: initial;
        }

        h3 {
            padding: 10px 0 0 0;
        }
    }

    .about-block-2 {
        padding-top: 40px;
    }

    .about-block-3 {
        padding-bottom: 80px;
    }

    .services {
        grid-template-rows: repeat(2, auto);
    }
}

/*mobile*/
@media (width <=490px) {

    .services,
    .about,
    .reviews {
        gap: 20px;
    }

    .about-block-3 {
        padding: 0 20px 40px 20px;
    }

    .reviews,
    .about-block-1,
    .about-block-2 {
        padding: 20px;

        .about-block-text-1 {
            padding: initial;
        }
    }

    .reviews {
        padding: 40px 20px;

        img {
            height: auto;
        }

        p {
            padding: 20px 0;
        }
    }

    .rates {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        padding: 20px 20px 40px 20px;
    }

    .rates-form {
        margin: 25px 0 0 0;
    }

    .services {
        padding: 25px 20px 40px 20px;
    }

    .services-text {
        div {
            h2 {
                padding: 0 0 10px 0;
            }
        }
    }
}

@media (width <= 460px) {

    .start {
        height: 100vh;
        background-size: cover; 
        margin: 0 0 70px 0;
    }

    .block-ru,
    .block-ba,
    .block-en,
    .block-ko,
    .block-tr,
    .block-zh {
        width: 300px;  
        height: 350px;
        padding: 15px;
    }

    .about-block-1,
    .about-block-2,
    .about-block-3 {
        width: 100%; 
    }

    .reviews {
        img {
            width: 100%;  
            height: auto;
        }
    }

    .services-text{
        div{
            h2{
                font-size: 3rem;
            }
        }
    }
    .rates-text, .reviews{
        h2{
            font-size: 3rem;
        }
    }
}

@media (350px <= width <= 1440px) {
    html {
        font-size: clamp(12px, 10.716px + 0.367vw, 16px);
    }
}