* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Poppins, sans-serif;
}
body {
    background-color: #f7f7f7;
}
.navbar {
    display: none;
}
.success {
    width: 13.33vw;
    height: 13.33vw;
    position: absolute;
    top: calc(50% - 6.665vw);
    left: calc(50% - 6.665vw);
    animation: svg 0.1s linear 2s 1 forwards;
    fill: #824CF4;
}
@keyframes svg {
    from {opacity: 1;}
    to {opacity: 0;}
}
.title {
    text-align: center;
    font-size: 4.95vw;
    font-weight: 800;
    margin-top: 9.33vw;
    opacity: 0;
    transition: opacity 0.4s ease;
}
.title.desktop {
    display: none;
}

.main-card {
    position: relative;
    display: none;
    animation: card-slide 1s ease 1 forwards;
    opacity: 0;
    width: 83.2vw;
    margin-left: auto;
    margin-right: auto;
}

@keyframes card-slide {
    from {margin-top: 20vh; opacity: 0;}
    to {margin-top: 0; opacity: 1;}
}

.receipt-container {
    position: relative;
    background-color: white;
    padding: 8vw;
    border-radius: 8vw;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.2);
}
.sliding-text-container {
    background-color: #824CF4;
    border-radius: 8vw 8vw 0 0;
    height: 13.6vw;
    position: relative;
    top: 9.33vw;
    left: 0;
    z-index: -1;
    overflow: hidden;
    width: 100%;
}
.sliding-text-container p {
    font-weight: 800;
    font-size: 1.8vw;
    text-transform: uppercase;
    opacity: 0.5;
    color: white;
    width: 150vw;
    height: 10px;
    margin-top: 0.802vw;
    position: relative;
    animation: sliding 30s linear infinite;
}
@keyframes sliding {
    0%{left: 0;}
    100%{left: -50%;}
}
.first-section {
    position: relative;
    display: flex;
    align-items: center;
}
.product-image {
    width: 18.67vw;
    height: 18.67vw;
    object-fit: cover;
    border-radius: 3.2vw;
}
.barcode {
    position: absolute;
    width: 5.675vw;
    top: 0;
    right: 0;
}
.product-info {
    width: 34.01vw;
    margin-left: 3.73vw;
}
.product-info h2 {
    font-weight: 700;
    font-size: 4.05vw;
}
.product-info p {
    font-weight: 500;
    font-size: 2.7vw;
}
.second-section {
    margin-top: 3vw;
}
.second-section h2 {
    font-weight: 600;
    font-size: 3.6vw;
    margin-bottom: 2vw;
}
.second-section p {
    font-weight: 500;
    font-size: 2.7vw;
}
.third-section {
    margin-top: 6.75vw;
}
.third-section h3 {
    margin-bottom: 1.348vw;
    font-weight: 600;
    font-size: 3.6vw;
}
.third-section span {
    float: right;
}
.purple-span {
    color: #824CF4;
}
.third-section h3.bold {
    font-weight: 800;
}
.dashed-line {
    position: relative;
    width: 83.2vw;
    left: -8vw;
    margin-top: 8vw;
    border-bottom: 1vw dashed #D8D8D8;
}
.side-circle {
    position: absolute;
    width: 5vw;
    height: 5vw;
    left: 0;
    top: -2vw;
}
.side-circle-reverse {
    position: absolute;
    width: 5vw;
    height: 5vw;
    right: 0;
    top: -2.5vw;
    transform: rotate(180deg);
}
.fourth-section {
    position: relative;
}
.fourth-section p {
    font-weight: 500;
    font-size: 2.25vw;
    color: #868686;
    margin-top: 4.05vw;
    margin-bottom: 3vw;
}
.fourth-section p b {
    font-weight: 700;
}
.svg {
    position: absolute;
    bottom: -1px;
    left: 7.68vw;
    width: 67.2vw;
}
.button {
    display: none;
    margin-left: auto;
    margin-right: auto;
    width: 88.53vw;
    height: 13.33vw;
    border-radius: 3.2vw;
    text-align: center;
    line-height: 13.33vw;
    font-size: 3.375vw;
    opacity: 0;
    animation: button-appear 0.5s ease 1 forwards;
}

@keyframes button-appear {
    from {opacity: 0;}
    to {opacity: 1;}
}

.purple {
    background-color: #824CF4;
    color: white;
    font-weight: 800;
    margin-top: 12.8vw;
    margin-bottom: 2.692vw;
    display: none;
}

.white {
    background-color: white;
    font-weight: 500;
    margin-bottom: 13.602vw;
}
.white.mobile.appear {
    display: none;
}
.white.desktop.appear {
    display: block;
}
.support-slide {
    position: fixed;
    top: 100vh;
    left: 0;
    animation: 0.6s ease 1 forwards;
    background-color: #f8f8f8;
    width: 100%;
    display: none;
    overflow: hidden;
    height: 100vh;
}

@keyframes support-slide {
    from {top: 100vh;}
    to {top: 0;}
}
@keyframes support-reverse {
    from {top: 0;};
    to {top: 100vh;};
}

@media only screen and (max-width: 800px) {
    .support-slide {
        display: block;
    }
    form {
        margin-left: auto;
        margin-right: auto;
        width: 88.53vw;
    }
    .header {
        text-align: center;
        font-weight: 800;
        color: black;
        font-size: 4.95vw;
        margin-bottom: 12vw;
        margin-top: 20.53vw;
    }
    input {
        font-weight: 500;
        height: 13.33vw;
        font-size: 3.375vw;
        border-radius: 2.7vw;
        border: 0.53vw solid transparent;
        margin-bottom: 2.93vw;
        line-height: 0;
        padding: 0 4.8vw;
    }
    input:focus {
        outline: none;
    }
    input.error {
        border: 0.53vw solid #824CF4;
    }
    .email {
        width: 100%;
    }
    .first-name {
        text-align: center;
        width: 42.67vw;
    }
    .number {
        text-align: center;
        width: 42.67vw;
        float: right;
    }
    textarea {
        font-weight: 500;
        width: 100%;
        height: 34.67vw;
        font-size: 3.375vw;
        border-radius: 3.2vw;
        border: 0.53vw solid transparent;
        padding: 4vw 6.67vw 0 18px;
        margin-bottom: 3.47vw;
        overflow: auto;
        resize: none;
    }
    textarea:focus {
        outline: none;
    }
    textarea.error {
        border: 0.53vw solid #824CF4;
    }
    .btn {
        width: 100%;
        height: 13.33vw;
        font-size: 3.375vw;
        text-align: center;
        line-height: 13.33vw;
    }
    button {
        background-color: #824CF4;
        color: white;
        border: none;
        font-weight: 800;
        border-radius: 3.2vw;
        cursor: pointer;
    }
    .white.mobile.appear {
        display: block;
    }
    .white.desktop.appear {
        display: none;
    }
    .btn a {
        color: black;
        text-decoration: none;
        font-weight: 500;
        margin-top: 4.27vw;
        cursor: pointer;
    }

    .success-2 {
        width: 13.33vw;
        fill: #824CF4;
        margin-top: calc(50vh - 6vw);
        margin-left: calc(50vw - 6vw);
        display: none;
    }

    .loading {
        animation: loading 6s linear infinite;
        width: 13.33vw;
        fill: #824CF4;
        margin-top: calc(50vh - 6vw);
        margin-left: calc(50vw - 6vw);
        display: none;
    }

    @keyframes loading {
        0% {transform: rotate(0deg);}
        100% {transform: rotate(360deg);}
    }
}

@media only screen and (min-width: 800px) {
    body {
        background-color: white;
    }
    .navbar {
        display: flex;
        align-items: center;
        width: 79.774vw;
        padding: 4.688vw 0;
        margin-left: auto;
        margin-right: auto;
    }
    .navbar h1 {
        font-weight: 800;
        font-size: 2.197vw;
    }
    .navbar a {
        font-weight: 700;
        font-size: 1.1vw;
        text-decoration: none;
    }
    .navbar .nav-support {
        color: #FF2424;
        margin-left: auto;
    }
    .navbar .nav-main {
        height: 4.34vw;
        width: 12.413vw;
        background-color: #824CF4;
        border-radius: 1.04vw;
        text-align: center;
        line-height: 4.34vw;
        color: white;
        margin-left: 2.78vw;
    }
    body {
        min-height: 68.489vw;
    }
    .main-container {
        display: flex;
        align-items: flex-start;
        width: 79.774vw;
        padding: 0 5.99vw 5.035vw 5.99vw;
        background-color: #f8f8f8;
        border-radius: 1.736vw;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 7.552vw;
        min-height: 37.24vw;
    }
    .success {
        left: calc(50% - 2.17vw);
        top: 30vw;
        width: 4.34vw;
        height: 4.34vw;
    }
    .title {
        text-align: start;
        font-size: 2.197vw;
        margin-top: 15.885vw;
        margin-bottom: 1.865vw;
    }
    .title.desktop {
        display: block;
    }
    .title.mobile {
        display: none;
    }
    .main-card {
        margin-top: 0;
        width: 27.083vw;
        margin-left: 0;
        margin-right: 0;
    }
    .receipt-container {
        padding: 2.604vw;
        border-radius: 2.604vw;
    }
    .sliding-text-container {
        border-radius: 2.604vw 2.604vw 0 0;
        height: 6.364vw;
        top: 5.035vw;
        z-index: 0;
    }
    .sliding-text-container p {
        font-weight: 800;
        font-size: 0.586vw;
        width: 49vw;
        height: 10px;
        margin-top: 0.26vw;
    }
    .product-image {
        width: 6.076vw;
        height: 6.076vw;
        border-radius: 1.042vw;
    }
    .barcode {
        width: 1.997vw;
    }
    .product-info {
        width: 11.024vw;
        margin-left: 1.215vw;
    }
    .product-info h2 {
        font-size: 1.32vw;
    }
    .product-info p {
        font-size: 0.879vw;
    }
    .second-section {
        margin-top: 1.65vw;
    }
    .second-section h2 {
        font-size: 1.17vw;
        margin-bottom: 0.87vw;
    }
    .second-section p {
        font-size: 0.879vw;
    }
    .third-section {
        margin-top: 2.604vw;
    }
    .third-section h3 {
        margin-bottom: 0.52vw;
        font-size: 1.172vw;
    }
    .dashed-line {
        width: 27.083vw;
        left: -2.604vw;
        margin-top: 2.604vw;  
        border-bottom: 0.2vw dashed #D8D8D8;
    }
    .side-circle {
        width: 2vw;
        height: 2vw;
        top: -0.8vw;
    }
    .side-circle-reverse {
        width: 2vw;
        height: 2vw;
        top: -1vw;
        transform: rotate(180deg);
    }
    .fourth-section p {
        font-size: 0.732vw;
        margin-top: 1.563vw;
        margin-bottom: 1vw;
    }
    .svg {
        bottom: -1px;
        left: 2.604vw;
        width: 21.875vw;
    }
    .button-container {
        margin-left: 9.462vw;
        width: 28.705vw;
    }
    .button {
        margin-left: 0;
        margin-right: 0;
        width: 28.819vw;
        height: 4.34vw;
        border-radius: 0.983vw;
        line-height: 4.34vw;
        font-size: 1.099vw;
        opacity: 0;
    }
    .purple {
        margin-top: 0;
        margin-bottom: 0.955vw;
    }
    .white {
        margin-bottom: 0;
    }
}