:root {
    --font-family: 'Roboto';
    --font-size: 14px;
    --font-weight: 400;
    --text-color: #000000;
    --container-max-width: 100%;
    --container-padding: 16px;
    --header-grid-template-areas:
            "logo title title"
            "totals totals totals"
            "downloads downloads downloads";
    --header-grid-template-columns: var(--logo-width) 1fr 1fr;
    --logo-width: 80px;
    --logo-padding: 16px 0;
    --content-gap: 24px;
    --slides-gap: 6px;
    --slide-height: 255px;
    --slide-count: 3;
    --block-title-font-size: 18px;
    --block-title-line-height: 22px;
    --block-subtitle-font-size: 14px;
    --block-subtitle-line-height: 20px;
    --block-text-font-size: 14px;
    --block-text-line-height: 20px;
    --popup-max-height: calc(100% - 32px);
    --popup-max-width: calc(100% - 32px);
}

.grid-container {
    padding: 0;
}
.container {
    display: flex;
    flex-direction: column;
    gap: var(--content-gap);
    width: 100%;
    max-width: var(--container-max-width);
    margin: 0 auto;
}

.pwa-landing {
    padding: 24px 0;
    color: var(--text-color);
    font-family: var(--font-family), sans-serif;
    font-size: var(--font-size);
    font-weight: var(--font-weight);
    line-height: calc(var(--font-size) + 6px);
}
.pwa-landing * {
    margin: 0;
    padding: 0;
}
.pwa-landing .pwa-landing-header {
    display: grid;
    grid-template-areas: var(--header-grid-template-areas);
    grid-template-columns: var(--header-grid-template-columns);
    align-items: flex-start;
    gap: 16px 24px;
}
.pwa-landing .pwa-logo {
    grid-area: logo;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    height: var(--logo-width);
    width: var(--logo-width);
    padding: var(--logo-padding);
    background: #FFF linear-gradient(0deg, #FFF, #FFF);
    border-radius: 12px;
    box-shadow: 0 1px 3px 1px rgba(51, 51, 51, 0.15), 0 1px 2px 0 rgba(51, 51, 51, 0.30);
    aspect-ratio: 1;
}
.pwa-landing .pwa-logo img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
}
.pwa-landing .pwa-title {
    grid-area: title;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.pwa-landing .pwa-title h1 {
    color: #151516;
    font-size: 19px;
    font-weight: 700;
    line-height: normal;
}
.pwa-landing .pwa-title .pwa-manufacturer {
    color: #01875F;
    font-size: 12px;
    font-weight: 500;
    line-height: normal;
}
.pwa-landing .pwa-title .pwa-ads-paid-content {
    margin-top: 3px;
    color: #5F6368;
    font-size: 12px;
    line-height: normal;
}
.pwa-landing .pwa-totals-block {
    grid-area: totals;
    display: flex;
    gap: 35px;
}
.pwa-landing .pwa-totals-item {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 100%;
}
.pwa-landing .pwa-totals-item:not(:last-child):after {
    position: absolute;
    top: 0;
    right: -18px;
    bottom: 0;
    height: calc(100% - 17px);
    width: 1px;
    margin: auto 0;
    background-color: #E6E6E6;
    content: "";
}
.pwa-landing .pwa-totals-item-title {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 26px;
    text-align: center;
    line-height: normal;
}
.pwa-landing .pwa-totals-item-description {
    color: #5F6368;
    text-align: center;
    font-size: 12px;
    line-height: normal;
}
.pwa-landing .pwa-age-box {
    display: inline-block;
    padding: 3px 5px;
    font-size: 12px;
    font-weight: 600;
    line-height: 18px;
    border: 1px solid #000;
    border-radius: 3px;
}
.pwa-landing .pwa-landing-content {
    display: flex;
    flex-direction: column;
    gap: var(--content-gap);
}
.pwa-landing .pwa-downloads-block {
    grid-area: downloads;
    display: flex;
    flex-direction: column;
}
.pwa-landing .pwa-download-btn,
.pwa-landing .superpwa-shortcode-button-wrap .superpwa-shortcode-button {
    display: flex;
    align-items: center;
    justify-content: center;
    height: auto;
    width: 100%;
    padding: 10px 16px;
    color: #FFF;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    background-color: #01875F;
    border-radius: 8px;
    transition: background-color 0.2s ease-in-out;
    cursor: pointer;
}
.pwa-landing .pwa-download-btn:hover,
.pwa-landing .superpwa-shortcode-button-wrap .superpwa-shortcode-button:hover {
    background-color: #005B43;
    box-shadow: none;
}
.pwa-landing .swiper {
    width: 100%;
}
.pwa-landing .swiper:not(.swiper-initialized) .swiper-wrapper {
    gap: var(--slides-gap);
}
.pwa-landing .swiper-slide {
    position: relative;
    height: 100%;
    width: calc(100% / var(--slide-count) - var(--slides-gap) + 2px);
}
.pwa-landing .pwa-landing-slide-picture {
    display: flex;
}
.pwa-landing .pwa-landing-slide-picture img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
}
.pwa-landing .pwa-landing-slide-title {
    position: absolute;
    top: 24px;
    left: 16px;
    right: 16px;
    max-height: 66px;
    font-size: 16px;
    font-weight: 700;
    line-height: 18px;
}
.pwa-landing .pwa-landing-slide-title p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    text-overflow: ellipsis;
    overflow: hidden;
}
.pwa-landing .pwa-landing-block-title {
    display: flex;
    align-items: center;
    gap: 16px;
    font-size: var(--block-title-font-size);
    font-weight: 500;
    line-height: var(--block-title-line-height);
}
.pwa-landing .pwa-landing-block-subtitle {
    font-size: var(--block-subtitle-font-size);
    font-weight: 500;
    line-height: var(--block-subtitle-line-height);
}
.pwa-landing .pwa-landing-block-text {
    color: #5F6368;
    font-size: var(--block-text-font-size);
    font-weight: 400;
    line-height: var(--block-text-line-height);
}
.pwa-landing .pwa-landing-description {
    display: flex;
    flex-direction: column;
    gap: 9px;
}
.pwa-landing .pwa-landing-updates {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.pwa-landing .pwa-landing-block-tooltip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: auto;
    color: #5F6368;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
}
.pwa-landing .pwa-full-description-open,
.pwa-landing .pwa-reviews-info-open {
    width: max-content;
    cursor: pointer;
}
.pwa-landing .pwa-landing-reviews,
.pwa-landing .cr-all-reviews-shortcode {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.pwa-landing .cr-summaryBox-wrap {
    flex-wrap: unset;
    gap: 32px;
    background: transparent;
}
.pwa-landing .cr-summaryBox-wrap .cr-overall-rating-wrap {
    width: 112px;
    flex: 0 0 auto;
    gap: 4px;
    padding: 0;
    text-align: center;
}
.pwa-landing .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-average-rating {
    color: #000;
    font-size: 46px;
    font-weight: 500;
    line-height: normal;
}
.pwa-landing .cr-all-reviews-shortcode .crstar-rating,
.pwa-landing #reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments .cr-ajax-reviews-list .comment-text .crstar-rating,
.pwa-landing #reviews #comments .cr-summaryBox-wrap .crstar-rating {
    margin: 0;
}
.pwa-landing .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-total-rating-count {
    color: #70757A;
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
}
.pwa-landing .cr-all-reviews-shortcode .cr-summaryBox-wrap .ivole-summaryBox {
    width: 100%;
    flex: unset;
    padding: 0;
}
.pwa-landing #ivole-histogramTable {
    display: block;
    max-width: 100%;
}
.pwa-landing #ivole-histogramTable tbody {
    display: flex;
    flex-direction: column;
    gap: 6px;
    pointer-events: none;
}
.pwa-landing #ivole-histogramTable .ivole-histogramRow {
    display: flex;
    align-items: center;
    gap: 18px;
}
.pwa-landing #ivole-histogramTable tr.ivole-histogramRow td:first-child {
    flex: 0 0 auto;
    padding: 0;
}
.pwa-landing .cr-all-reviews-shortcode #ivole-histogramTable tr.ivole-histogramRow .ivole-histogramCell2 {
    min-width: unset;
    width: 100%;
    padding: 0;
}
.pwa-landing #ivole-histogramTable tr.ivole-histogramRow td:first-child .cr-histogram-a {
    font-size: 0;
    line-height: 0;
    text-decoration: none;
}
.pwa-landing #ivole-histogramTable tr.ivole-histogramRow td:first-child .cr-histogram-a:after {
    color: #70757A;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
}
.pwa-landing #ivole-histogramTable tr.ivole-histogramRow td:first-child .cr-histogram-a[data-rating]:after {
    content: attr(data-rating);
}
.pwa-landing .ivole-meter {
    height: 12px;
    background: #E5E5E5;
    border-radius: 30px;
    box-shadow: none;
}
.pwa-landing .ivole-meter-bar {
    background: #01875F;
    border-radius: 30px;
    box-shadow: none;
}
.pwa-landing .ivole-meter .ivole-meter-bar:before {
    content: unset;
}
.cr-all-reviews-shortcode ol.commentlist {
    display: flex;
    flex-direction: column;
    gap: 32px;
}
.cr-all-reviews-shortcode ol.commentlist li {
    margin: 0;
}
.pwa-landing .cr-all-reviews-shortcode ol.commentlist li .comment-text {
    display: flex;
    flex-direction: column;
    margin-left: 0;
    padding: 0;
    border: none;
}
.pwa-landing .cr-all-reviews-shortcode ol.commentlist li .comment-text .meta .woocommerce-review__author {
    color: #202124;
    font-size: 16px;
    font-weight: 400;
    line-height: normal;
    letter-spacing: -0.192px;
}
.pwa-landing .cr-all-reviews-shortcode ol.commentlist li .comment-text .cr-rating-product-name {
    margin-top: 6px;
}
.cr-all-reviews-shortcode ol.commentlist li .comment-text .description {
    color: #000;
    font-size: 14px;
    font-weight: 400;
    line-height: 24px;
}
.pwa-landing .cr-all-reviews-shortcode ol.commentlist li .comment-text .description p,
.pwa-landing .cr-all-reviews-shortcode .cr-comment-images, .cr-comment-videos {
    margin: 12px 0 0;
}
.pwa-landing .pwa-totals-block .cr-summaryBox-wrap {
    padding: 0;
}
.pwa-landing .pwa-totals-block .cr-summaryBox-wrap .cr-overall-rating-wrap {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: unset;
    gap: 5px;
    width: 100%;
}
.pwa-landing .pwa-totals-block .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-average-rating {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    min-height: 26px;
    font-size: 14px;
    text-align: center;
    line-height: normal;
}
.pwa-landing .pwa-totals-block .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-total-rating-count {
    font-size: 12px;
}
.pwa-landing .pwa-totals-block .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-average-rating:after {
    display: inline-block;
    width: 12px;
    height: 12px;
    content: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'><path d='M11.9801 4.55194C11.9354 4.41862 11.8199 4.3215 11.681 4.30012L7.99212 3.7365L6.3393 0.215625C6.27743 0.084 6.14505 0 5.99974 0C5.85443 0 5.72224 0.084 5.66018 0.215625L4.00737 3.7365L0.318491 4.30031C0.179553 4.3215 0.0642405 4.41881 0.019428 4.55212C-0.025197 4.68525 0.00836551 4.83225 0.106616 4.93294L2.78674 7.68112L2.15337 11.5631C2.13012 11.7049 2.18993 11.8476 2.30749 11.9301C2.37199 11.9756 2.44755 11.9987 2.5233 11.9987C2.58555 11.9987 2.64818 11.9829 2.7048 11.9518L5.99955 10.1295L9.2943 11.9518C9.35093 11.9829 9.41355 11.9987 9.4758 11.9987C9.55155 11.9987 9.6273 11.9756 9.69162 11.9301C9.80918 11.8476 9.86899 11.7049 9.84574 11.5631L9.21237 7.68112L11.8925 4.93294C11.9909 4.83206 12.0247 4.68506 11.9801 4.55194Z' fill='black'/></svg>");
}
.pwa-landing .cr-show-more-button {
    color: #01875F;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    border: 1px solid #01875F;
    border-radius: 8px;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}
.pwa-landing .cr-show-more-button:hover {
    color: #005B43;
    border-color: #005B43;
}
body .header-sale-label,
body .headline,
body .site-footer,
.pwa-landing .cr-all-reviews-shortcode ol.commentlist li .comment-text .cr-rating-product-name .cr-product-name-picture,
.pwa-landing .cr-all-reviews-shortcode ol li.review .comment_container img.avatar,
.pwa-landing #ivole-histogramTable tr.ivole-histogramRow td:last-child,
.pwa-landing .cr-summary-separator,
.pwa-landing .cr-ajax-search,
.pwa-landing .cr-count-row,
.pwa-landing .pwa-totals-block .commentlist,
.pwa-landing .pwa-totals-block .ivole-summaryBox,
.pwa-landing .pwa-totals-block .cr-average-rating-stars,
.pwa-landing .pwa-totals-block .cr-all-reviews-pagination {
    display: none !important;
}

.pwa-popup {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 15, 15, 0.20);
    backdrop-filter: blur(5px);
    transition: all 0.2s ease-in-out;
    cursor: pointer;
    z-index: 5;
}
.pwa-popup:not(.active) {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}
.pwa-popup .pwa-popup-inner {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    height: max-content;
    width: max-content;
    max-height: var(--popup-max-height);
    max-width: var(--popup-max-width);
    margin: auto;
    padding: 32px 16px 20px;
    background: #FFF;
    border-radius: 6px;
    overflow: hidden auto;
    cursor: default;
}
.pwa-popup .pwa-popup-close-cross {
    position: absolute;
    top: 16px;
    right: 16px;
    padding: 8px;
    cursor: pointer;
}
.pwa-popup .pwa-popup-title {
    color: #151516;
    font-size: 18px;
    font-weight: 700;
    line-height: normal;
}
.pwa-popup .pwa-popup-subtitle {
    color: #5F6368;
    font-size: 12px;
    font-weight: 400;
    line-height: normal;
}
.pwa-popup .pwa-popup-text {
    color: #5F6368;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
}
.pwa-popup .pwa-popup-text + .pwa-popup-text {
    margin-top: 24px;
}

.pwa-full-description .pwa-fd-header {
    display: flex;
    gap: 24px;
}
.pwa-full-description .pwa-fd-logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    height: auto;
    width: 80px;
    background: #FFF;
    border-radius: 12px;
    box-shadow: 0 1px 3px 1px rgba(51, 51, 51, 0.15), 0 1px 2px 0 rgba(51, 51, 51, 0.30);
    aspect-ratio: 1;
}
.pwa-full-description .pwa-fd-title {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
}
.pwa-full-description .pwa-fd-body {
    margin-top: 32px;
}

.pwa-reviews-info .pwa-popup-text {
    margin-top: 16px;
}
.pwa-reviews-info .pwa-popup-footer {
    display: flex;
    flex-direction: column;
    margin-top: 8px;
}
.pwa-reviews-info .pwa-popup-close-btn {
    display: inline-block;
    margin-left: auto;
    padding: 10px 16px;
    color: #01875F;
    text-align: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    transition: all 0.2s ease-in-out;
    cursor: pointer;
}
.pwa-reviews-info .pwa-popup-close-btn:hover {
    color: #005B43;
}

@media (max-width: 425px) {
    :root {
        --slide-count: 2;
    }

    .pwa-landing .pwa-totals-block {
        gap: 9px;
    }
    .pwa-landing .pwa-totals-item:not(:last-child):after {
        right: -5px;
    }
    .pwa-landing .pwa-landing-block-title {
        flex-wrap: wrap;
    }
}
@media (min-width: 632px) {
    :root {
        --popup-max-width: 600px;
    }

    @media (min-width: 769px) {
        :root {
            --container-max-width: 1045px;
            --header-grid-template-areas: "title title logo" "totals totals logo" "downloads downloads logo";
            --header-grid-template-columns: 1fr 1fr var(--logo-width);
            --logo-width: 240px;
            --logo-padding: 46px 0;
            --slide-count: 4;
        }

        .pwa-landing .pwa-title h1 {
            font-size: 32px;
            line-height: 44px;
        }

        .pwa-landing .pwa-title .pwa-manufacturer,
        .pwa-landing .pwa-title .pwa-ads-paid-content,
        .pwa-landing .pwa-totals-block,
        .pwa-landing .pwa-downloads-block {
            max-width: 472px;
        }

        .pwa-landing .cr-all-reviews-shortcode .cr-summaryBox-wrap .cr-average-rating {
            font-size: 56px;
            line-height: 64px;
        }

        @media (min-width: 1025px) {
            :root {
                --content-gap: 32px;
                --slide-height: 362px;
                --slide-count: 5;
                --block-title-font-size: 22px;
                --block-title-line-height: 28px;
            }

            .pwa-landing {
                padding: 81px 0;
            }

            .pwa-landing .pwa-title h1 {
                font-size: 44px;
                line-height: 58px;
            }
        }
    }
}