@media screen and (max-width: 1500px) {
    html,
    body{
        overflow-x: hidden;
    }
}
@media screen and (max-width: 1200px) {
    html,
    body{
        position: relative;
    }
    p {
        font-size: 1.25rem;
        line-height: 1.4;
    }
    .container {
        max-width: 100%;
        padding: 0 2rem;
    }
    .flickity-prev-next-button.previous {
        left: 0;
    }
    .flickity-prev-next-button.next {
        right: 0;
        left: auto;
    }
    .hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 3rem;
        padding-top: 15rem;
    }
    .hero-content h1 {
        margin: 0 auto;
    }
    .hero-content .btn {
        margin-top: 1.75rem;
    }
    .hero-content p {
        margin: 1.5rem auto;
    }

    .hero-image {
        margin-top: 2rem;
        text-align: center;
    }

    .hero-image img {
        width: 100%;
        max-width: 35rem;
        height: auto;
    }
    .product-highlight {
        padding: 5rem 0;
    }
    .usp-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 3rem;
    }
    section.product-highlight h3 {
        font-size: 2rem;
    }
    section.product-highlight .container {
        grid-template-columns: 1fr;
    }

    .product-card.reverse {
        margin-top: 2rem;
    }

    .about-features {
        margin-top: 4rem;
        gap: 2rem;
    }

    .contact-inner {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .contact-image img {
        position: static;
        max-height: 25rem;
        margin: 0 auto;
        display: block;
    }
    section.featured-products > .container {
        padding-left: 0;
        padding-right: 0;
    }
    .review-card {
        max-width: 80%;
        height: 25rem;
    }
    .review-text {
        height: 10rem;
    }
    .contact-box {
        padding: 2.5rem;
    }
    .footer-col.footer-brand {
        max-width: 24rem;
        grid-column: span 2;
        margin: 0 auto;
    }
    .footer-col:not(.footer-brand) {
        padding-top: 1rem;
    }
    .footer-col:nth-child(3) {
        margin-left: 0;
    }
    .footer-bottom {
        text-align: center;
        margin-top: 1rem;
        font-size: .813rem;
        color: rgba(232, 234, 236, 1);
    }
    section.reviews-section {
        padding: 5.813rem 0 0;
        overflow: hidden;
    }
    section.contact-section {
        margin-top: 0;
    }
    .footer-contact .contact-item span.icon img {
        width: 2rem;
        margin-top: .5rem;
    }
    .footer-contact .contact-item {
        text-align: left;
    }
    /*about*/
    .about-hero__inner {
        min-height: 40rem;
    }

    .about-hero__title {
        font-size: 4rem;
    }

    /* Purpose Section */
    .about-purpose__inner {
        grid-template-columns: 1fr;
        gap: 5rem;
        margin-top: 5rem;
    }

    .about-purpose__media > img {
        width: 100%;
        margin-left: 0;
        margin-top: 0;
    }

    span.about-purpose__circle {
        left: 50%;
        transform: translateX(-50%);
        top: -2rem;
    }

    /* Image with Text */
    .img-w-text .inner {
        grid-template-columns: 1fr;
        gap: 4rem;
    }

    .img-w-text .text-inner h2 {
        max-width: 100%;
    }
    /*about*/
    /*contact*/
        .support-cards__inner {
            grid-template-columns: repeat(2, 1fr);
            gap: 2rem;
        }
    
        .support-card:nth-child(2) {
            transform: translateY(0);
        }
    
        section.support-cards {
            margin-top: 4rem;
        }
    
        .contact-section__inner {
            grid-template-columns: 1fr;
            gap: 4rem;
        }
    
        .contact-media {
            max-width: 45rem;
            margin: 0 auto;
        }
    
        .contact-content {
            text-align: center;
        }
    
        .contact-form {
            text-align: left;
        }
        .support-card__icon img {
            width: 100%;
            height: 100%;
        }
    /*contact*/
}

@media screen and (max-width: 768px) {
    h1, h2 {
        font-size: 3.2rem !important;
    }
    .footer-inner {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .ellipse-left, .ellipse-right {
        display: none;
    }

    .featured-products .product-item {
        max-width: 45%;
        margin-top: 0 !important;
    }

    h2.about-purpose__title {
        display: block;
        text-align: center;
    }
    .footer-col.footer-brand {
        grid-column: span 1;
        max-width: 100%;
    }
    .footer-inner {
        grid-template-columns: repeat(1, 1fr);
        gap: 3rem;
    }
    .footer-contact .contact-item {
        text-align: left;
        justify-content: center;
    }
    .featured-products .product-item {
        max-width: 100%;
    }
    section.featured-products > .container {
        padding-left: 2rem;
        padding-right: 2rem;
    }
    /*about*/
    h2.about-purpose__title strong {
        margin-left: 0;
        display: inline;
        white-space: normal;
    }

    section.about-purpose {
        padding: 5rem 0;
    }

    .about-hero__desc {
        font-size: 1.4rem;
        padding: 0 2rem;
    }

    /* Quote Author */
    section.quote-author > .container {
        padding: 4rem 2rem;
    }

    section.quote-author p {
        font-size: 2rem;
    }

    section.sologan h2 {
        font-size: 2.8rem;
    }

    section.img-w-text {
        padding-top: 5rem;
    }
    /*about*/
    /*contact*/
    .support-cards__inner {
        grid-template-columns: 1fr;
    }

    p.support-card__title {
        font-size: 2.4rem;
    }

    .main-contact-section {
        margin-top: 6rem;
    }

    .contact-title {
        font-size: 3rem;
    }

    .contact-media img {
        max-width: 80%;
    }
    /*contact*/
}

@media screen and (max-width: 414px) {
    html {
        font-size: 60%;
    }

    h1, h2 {
        font-size: 2.8rem !important;
    }

    .btn {
        width: 100%;
        padding: 0 1rem;
    }

    .usp-list {
        grid-template-columns: 1fr;
    }

    .product-highlight .product-card {
        padding: 3rem 1.5rem;
    }

    .product-highlight .product-content {
        max-width: 100%;
        text-align: center;
    }

    .product-highlight .product-image {
        position: relative;
        margin-top: 2rem;
        text-align: center;
    }

    .product-highlight .product-image img {
        height: auto;
        max-width: 100%;
    }

    .featured-products .product-item {
        max-width: 85%;
    }
    .review-text {
        height: 10rem;
    }
    .review-card {
        max-width: 90%;
        height: auto;
        margin-right: 1rem;
    }

    .review-card:nth-child(even) {
        margin-top: 0;
    }

    .about-features {
        grid-template-columns: 1fr;
    }

    

    .contact-item {
        justify-content: center;
    }

    .flickity-prev-next-button {
        display: none !important;
    }
    /*about*/
    .about-hero__title {
        font-size: 3rem;
    }

    /* Purpose Title */
    h2.about-purpose__title {
        font-size: 2.4rem;
        text-align: center;
        display: block;
    }

    .fs-32 {
        font-size: 1.6rem;
    }

    .img-w-text .text-inner p {
        font-size: 1.5rem;
    }

    /* Image Inner */
    .image-inner img {
        width: 100%;
        border-radius: 1.5rem;
    }

    /* Slogan */
    section.sologan h2 {
        font-size: 2.2rem;
        line-height: 1.4;
    }

    section.quote-author small {
        font-size: 1.4rem;
    }

    /* Purpose Shape */
    span.about-purpose__circle img {
        max-width: 100%;
    }
    /*about*/
    /*contact*/
    .about-hero__inner {
        min-height: 35rem;
    }

    .about-hero__title {
        font-size: 2.6rem;
    }

    .support-card {
        padding: 2rem;
    }

    p.support-card__title {
        font-size: 2rem;
    }

    p.support-card__desc {
        margin-top: 1.5rem;
        font-size: 1.3rem;
    }

    .support-card__icon {
        top: 1.5rem;
        right: 1.5rem;
        max-width: 2.5rem;
    }

    .contact-form input, 
    .contact-form textarea {
        font-size: 1.4rem;
        height: 4.5rem;
        margin-bottom: 1.2rem;
    }

    .contact-form textarea {
        min-height: 12rem;
    }

    .main-contact-section button.btn {
        width: 100%;
        margin-top: 1rem;
    }

    section.sologan h2 {
        font-size: 2.2rem;
    }
    /*contact*/
}