/* Main Content */

/* Review Company */
main{
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
main p.title, p.title span{
    font-size: calc(15px + 1vw);
    font-weight: 700;
}
main article.review-company {
    width: 100%;
    margin-top: 50px;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
main article.review-company .content p{
    width: 80%;
    text-align: justify;
}
article.review-company .content{
    width: 60%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
button#search-product{
    align-self: flex-start;
}
article.review-company svg{
    min-width: 25px;
    min-height: 25px;
    width: calc(35px + 1.5vw);
    height: calc(35px + 1.5vw);
}
.show-block{
    z-index: -1 !important;
    scroll-behavior: auto;
}
img[alt="One Block"] {
    position: absolute;
    top: 40px;
    min-width: 150px;
    min-height: 150px;
    width: calc(130px + 1vw);
    height: calc(130px + 1vw);
    -o-object-fit: cover;
       object-fit: cover;
    filter: drop-shadow(2px 2px #00000070);
    animation: move_blocks 3s linear infinite;
    animation-play-state: running;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    pointer-events: none;
    scroll-behavior: unset;
}
@keyframes move_blocks {
    0% { transform: translateY(0px); }
    50% { transform: translateY(15px); }
    100% { transform: translateY(0px); }
}
img[alt="Block Background"] {
    min-width: 350px;
    min-height: 350px;
    width: calc(250px + 3vw);
    height: calc(250px + 3vw);
    -o-object-fit: cover;
       object-fit: cover;
}
a#search-product{
    font-weight: 700;
    margin-top: 5px;
    display: flex;
    margin-right: auto;
    justify-content: center;
    align-items: center;
    gap: calc(3px + 0.5vw);
    padding: 5px 10px;
    border-radius: 5px;
    border: none;
    color: #ffffff !important;
    background-color: #eb05fb;
    box-shadow: 0px 0px 1px 1px #00000015;
    transition: 0.5s;
}
a#search-product:hover{
    background-color: #f12dff;
}
a#search-product:focus{
    box-shadow: 0px 0px 3px 3px #f12dff50;
}
a#search-product svg{
    min-width: 15px;
    min-height: 15px;
    fill: #ffffff;
    width: calc(15px + 0.2vw);
    height: calc(15px + 0.2vw);
}

/* Review Product */
.review-products{
    width: 100%;
    padding: 50px;
    background-image: url('/images/service-background.png');
    background-size: cover;
    filter: opacity(1);
}
.title-product{
    text-align: center;
    font-size: calc(20px + 1vw);
    font-weight: 700;
    color: black !important;
}
.content-product{
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: calc(20px + 2vw);
}
.standard-product, .price-product, .amount-product{
    display: flex;
    flex-direction: column;
    justify-content:space-around;
    align-items: center;
    width: 350px;
    height: calc(200px + 1vw);
    background-color: #FFFFFF;
    border-radius: 5px;
    padding: 5px;
    font-size: calc(8px + 0.5vw);
    box-shadow: 0px 0px 3px 3px #00000015;
}
p.service_content{
    text-align: center;
}
.icon-circle img{
    width: 120px;
    height: 120px;
    -o-object-fit: contain;
       object-fit: contain;
}

/* Card Product */
.card-products{
    margin-top: 100px;
}
.card-products .title-product{
    margin-bottom: 60px;
}
.card-container{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: calc(80px + 1vw);
}
.card-row{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: calc(200px + 1vw);
}
.card{
    width: 300px;
    height: 380px;
    border-radius: 20px;
    box-shadow: 0px 0px 2px 2px #00000015;
    background-color: #FFFFFF;
    transition: 0.5s;
    cursor: pointer;
}
.card:hover{
    transform: translateY(-35px);
    transition: 0.5s;
}
.card img{
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    width: 300px;
    height: 300px;
}
p.card-content{
    margin-top: 20px;
    text-align: center;
    font-size: calc(17px + 0.1vw);
    font-weight: 500;
}
.card-left, .card-right{
    position: relative;
}
.card-bg img{
    position: absolute;
    z-index: -1;
    top: -50px;
    width: 488px;
    height: 503px;
    -o-object-fit: contain;
       object-fit: contain;
}
.card-right .card-bg img{
    right: -92px;
}
.card-left .card-bg img{
    left: -92px;
}

/* Partner Section */
.partner-container{
    margin-top: 100px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff7fe;
    padding: 30px;
}
.partner-flex{
    display: flex;
    gap: calc(50px + 1vw);
}
.partner-container img{
    margin-top: 20px;
    width: 130px;
    height: 70px;
    -o-object-fit: contain;
       object-fit: contain;
    animation: partner-marquee 20s linear infinite;
    -webkit-user-select: all;
       -moz-user-select: all;
            user-select: all;
    pointer-events: all;
    transition: 0.5s;
}
.partner-container img:hover{
    width: 150px;
    height: 80px;
    transition: 0.5s;
}
@keyframes partner-marquee {
    from { transform: translateX(0px); }
    to { transform: translateX(-100vw); }
}

@media (max-width: 1231px) {
    /* Review Company */
    .review-company{
        flex-wrap: wrap;
    }
    main p.title, p.title span{
        font-size: calc(10px + 1vw);
        font-weight: 700;
    }
    .content-company p:nth-child(2) {
        font-size: calc(8px + 0.5vw);
    }
    a#search-product{
        align-self: flex-start;
        margin-left: calc(32px + 2vw);
        font-size: calc(8px + 0.5vw);
    }
    .show-block{
        margin-top: 20px;
    }
    .content-company{
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    img[alt="Block Background"] {
        min-width: 250px;
        min-height: 250px;
        width: calc(200px + 3vw);
        height: calc(200px + 3vw);
        -o-object-fit: cover;
           object-fit: cover;
    }
}

@media (min-width: 651px) and (max-width: 1024px) {
    /* Card Product */
    .card-container{
        gap: calc(80px + 0.5vw);
    }
    .card-row{
        gap: calc(100px + 0.5vw);
    }
    .card{
        width: 250px;
        height: 320px;
        border-radius: 15px;
    }
    .card:hover{
        transform: translateY(-25px);
        transition: 0.5s;
    }
    .card img{
        border-top-left-radius: 15px;
        border-top-right-radius: 15px;
        width: 250px;
        height: 250px;
    }
    p.card-content{
        margin-top: 15px;
        font-size: calc(16px + 0.1vw);
        font-weight: 500;
    }
    .card-bg img{
        top: -35px;
        width: 361px;
        height: 381px;
        -o-object-fit: cover;
           object-fit: cover;
    }
    .card-right .card-bg img{
        right: -58px;
    }
    .card-left .card-bg img{
        left: -58px;
    }
}

@media (max-width: 650px) {
    /* Card Product */
    div.content{
        width: 100% !important;
    }
    img[alt="One Block"] {
        top: calc(150px + 3vw);
        min-width: 100px;
        min-height: 100px;
        -o-object-fit: cover;
           object-fit: cover;
        filter: drop-shadow(2px 2px #00000070);
        animation: move_blocks 3s linear infinite;
    }
    .card-container{
        gap: calc(80px + 0.5vw);
    }
    .card-row{
        gap: calc(80px + 0.5vw);
    }
    .card{
        width: 180px;
        height: 220px;
        border-radius: 10px;
    }
    .card:hover{
        transform: translateY(-25px);
        transition: 0.5s;
    }
    .card img{
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
        width: 180px;
        height: 180px;
    }
    a#search-product{
        margin-left: calc(27px + 3vw);
    }
    p.card-content{
        margin-top: 5px;
        font-size: calc(11px + 0.1vw);
        font-weight: 500;
    }
    .card-bg img{
        top: -35px;
        width: 268px;
        height: 289px;
        -o-object-fit: contain;
           object-fit: contain;
    }
    .card-right .card-bg img{
        right: -45px;
    }
    .card-left .card-bg img{
        left: -45px;
    }
    /* Partner Section */
    .partner-container{
        margin-top: 100px;
        display: flex;
        flex-direction: column;
        align-items: center;
        background-color: #fff7fe;
        padding: 30px;
    }
    .partner-flex{
        display: flex;
        gap: calc(50px + 1vw);
    }
    .partner-container img{
        margin-top: 20px;
        width: 70px;
        height: 40px;
        -o-object-fit: contain;
        object-fit: contain;
        animation: partner-marquee 20s linear infinite;
        -webkit-user-select: all;
        -moz-user-select: all;
                user-select: all;
        pointer-events: all;
        transition: 0.5s;
    }
    .partner-container img:hover{
        width: 150px;
        height: 80px;
        transition: 0.5s;
    }
    @keyframes partner-marquee {
        from { transform: translateX(230px); }
        to { transform: translateX(-100vw); }
    }
}
