:root {
    --marquee-elements-displayed: 3;
    --marquee-element-width: calc(100% / var(--marquee-elements-displayed));
    --marquee-animation-duration: calc(var(--marquee-elements) * 3s);
}

footer {
    margin-top: 0 !important;
}

.hero__container>.wp-block-group {
    text-align: center;
}

.hero__promo {
    background-color: var(--wp--preset--color--purple);
    border-radius: 9px;
    padding: 16px 22px;
    display: inline-block;
    width: 100%;
}

.hero__container .wp-block-button {
    width: 100%;
}

.hero__container>figure img {
    margin-left: auto;
    margin-right: auto;
    display: block;
}

.landing-page__logos-container {
    overflow: hidden;
    position: relative;
}

.landing-page__logo-marquee {
    display: flex;
    animation: scrolling var(--marquee-animation-duration) linear infinite;
    /* gap: 48px; */
}

@keyframes scrolling {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(calc(-1 * var(--marquee-element-width) * var(--marquee-elements)));
    }
}

.landing-page__logo-marquee .wp-block-image {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-shrink: 0;
    width: var(--marquee-element-width);
}

.landing-page__icon-card-container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 48px;
}

.landing-page__icon-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
}

.landing-page__icon-card figure {
    flex: 0 0 72px;
}

.landing-page__product-card-container {
    display: flex;
    overflow: visible;
    flex-direction: row;
    overflow-x: scroll;
    gap: 24px;
    justify-content: center;
    padding: 24px 0;
    margin-top: 0;
}

.landing-page__product-card {
    flex: 0 0 296px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.12);
    z-index: 1;
}

.landing-page__product-card>:last-child {
    margin-top: auto;
    width: 100%;
}

.landing-page__purple-callout .wp-block-button {
    width: 100%;
}

.landing-page__features>.wp-block-group {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 48px;
}

.landing-page__features-card {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: center;
    /* flex: 0 0 100%; */
}

.landing-page__features-card .wp-block-heading,
.landing-page__features-card .has-dark-gray-color {
    white-space: nowrap;
}

.landing-page__reviews-cards {
    display: grid;
    gap: 24px;
}

.landing-page__reviews-card>.wp-block-group {
    align-items: flex-end;
}

.landing-page__certification-cards {
    display: grid;
    gap: 24px;
}

@media screen and (min-width: 768px) {
    :root {
        --marquee-elements-displayed: 6;
    }

    .landing-page__features>.wp-block-group {
        flex-direction: row;
        justify-content: center;
    }
}

@media screen and (min-width: 1024px) {
    .landing-page__hero {
        padding-top: 48px !important;
    }

    .hero__container {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        gap: 46px;
        padding: 48px 72px !important;
    }

    .hero__container>.wp-block-group {
        text-align: left;
    }

    .hero__container>figure {
        margin: 0 !important;
        flex: 0 0 auto;
    }

    .hero__promo {
        width: auto;
    }

    .hero__container .wp-block-button {
        width: auto;
    }

    .landing-page__icon-card-container {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .landing-page__icon-card {
        flex-direction: column;
        justify-content: flex-start;
    }

    .landing-page__icon-card figure {
        margin-left: 0 !important;
    }

    .landing-page__swipe-instructions {
        display: none !important;
    }

    .landing-page__product-card-container {
        overflow: visible;
        justify-content: center;
        padding: 0;
        margin-top: 24px;
    }

    .landing-page__product-card {
        flex: 1;
        max-width: 410px;
        margin: 0 !important;
    }

    .landing-page__purple-callout {
        padding: 48px 72px !important;
    }

    .landing-page__purple-callout .wp-block-button {
        width: auto;
    }

    .landing-page__features>.wp-block-group {
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .landing-page__reviews-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 48px;
    }

    .landing-page__certification-cards {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 48px;
    }

    .landing-page__speak-with-expert .wp-block-buttons {
        align-items: center !important;
    }

    .landing-page__speak-with-expert .wp-block-button__link {
        width: auto !important;
    }
}

@media screen and (min-width: 1194px) {
    .landing-page__logo-marquee {
        animation: unset;
        justify-content: center;
        gap: 48px;
    }

    .landing-page__logo-marquee .wp-block-image {

        width: auto;
    }
}