html {
    scroll-behavior: smooth;
}

.main {
    display: grid;
    gap: 15px;
}

.mainimage {
    display: flex;
    flex-direction: row;
}

.mainimage img {
    width: 100%;
    border-radius: .5rem;
}

.maintext {
    background-color: var(--white);
    border-radius: .5rem;
    display: flex;
    flex-direction: column;
    gap: 5px;
    justify-content: center;
}

.maintext p:first-child {
    color: var(--purple);
    font-family: Iransans500;
    margin-bottom: 10px;
}

.maintext p:last-child {
    margin-top: 10px;
    color: var(--green);
}

#mainimage {
    transition: opacity 1s ease-in-out;
    opacity: 1;
}

.mainvideo {
    display: flex;
    border-radius: .5rem;
    background-color: var(--white);
}

.services {
    display: grid;
    gap: 15px;
}

.services div {
    display: flex;
    flex-direction: row;
    gap: 10px;
    background-color: var(--white);
    border-radius: .5rem;
    align-items: center;
}

.services div div {
    flex: .1;
}

.services div div img {
    width: 100%;
}

.services div section {
    flex: .9;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.services div section h2 {
    text-align: right;
    font-size: 1.2rem;
    color: var(--purple);
}

.services div section p {
    width: 100%;
    text-justify: auto;
    text-align: justify;
    word-spacing: -3px;
    color: var(--gray800);
}

.instructions, .posts {
    display: grid;
    gap: 15px;
    margin: 0 5%;
}

.post {
    background-color: var(--white);
    border-radius: .5rem;
}

.post img {
    border-radius: .5rem .5rem 0 0;
    width: 100%;
    display: block;
}

.post p {
    padding: 5px;
    text-align: right;
    font-family: Iransans500;
    font-size: 15px;
    border-radius: 0 0 10px 10px;
    border-top: 2px dotted var(--purple);
}


@media (max-width: 480px) {
    .main {
        grid-template-columns: 1fr;
        padding: 1rem;
    }

    .mainvideo video {
        width: 100%;
        border-radius: .5rem;
    }

    .maintext {
        padding: 1rem;
    }

    .maintext p:first-child {
        font-size: 1.2rem;
    }

    .services {
        padding: 0 1rem;
        grid-template-columns: 1fr;
    }

    .services div {
        padding: 10px;
        gap: 5px;
    }

    .instructions, .posts {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 480px) {
    .main {
        grid-template-columns: 1fr 1fr;
        padding: 2rem 5% 0 5%;
    }

    .maintext {
        padding: 2rem;
    }

    .maintext p:first-child {
        font-size: 1.9rem;
    }

    .maintext span {
        font-size: 1.2rem;
    }

    .mainvideo {
        grid-column: span 2;
    }

    .mainvideo video {
        margin: 0 20%;
        width: 70%;
    }

    .services {
        padding: 0 5%;
        grid-template-columns: 1fr 1fr;
    }

    .services div {
        padding: 20px;
        gap: 20px;
    }

    .instructions {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .posts {
        grid-template-columns: 1fr 1fr 1fr 1fr;
    }
}