#hero-section > .section-container {
    align-items: center;
}
#hero-section .col-right {
    width: 59%;
    margin-left: -60px;
}
#hero-section .col-right img {
    max-width: 100%;
}

#customers {
    padding: 60px 0 110px;
}
#customers .section-container {
    width: 1320px;
    max-width: 95%;
}
.section-title {text-align: center}

.splide__arrow--prev{left:-92px}
.splide__arrow--prev svg{transform:scaleX(-1)}
.splide__arrow--next{right:-92px}

#security {
    padding: 68px 0;
    background: #efefef;
}
#security .txt-img-row {align-items: center}
#security .txt-img-row:nth-child(odd) {
    flex-direction: row-reverse;
}
#security .txt-img-row .img-wrapper {
    flex-shrink: 0;
}
#security .txt-img-row img {
    width: 500px;
    height: auto;
}
#security .txt-img-row:nth-child(odd) .content-wrapper {
    margin-right: 50px;
    margin-left: 30px;
}
#security .txt-img-row:nth-child(even) .content-wrapper {
    margin-left: 50px;
    margin-right: 30px;
}

#open-source {
    padding: 68px 0;
    text-align: center;
    background-image: linear-gradient(to right, #072773, #2C5FBA);
    background-image: url(../img/home-calico-prods-bg.svg), linear-gradient(to right, #072773, #2C5FBA);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#open-source .section-title {
    margin-bottom: 16px;
    padding-bottom: 0;
    color: var(--color-white);
}
#open-source .subtitle {
    max-width: 774px;
    margin: 0 auto;
    color: var(--color-white);
}
#open-source .cards-wrapper {
    justify-content: center;
    gap: 32px;
    margin-top: 56px;
    padding: 0 23px;
}
#open-source .cards-wrapper .open-source-card {
    width: 48%;
    padding: 40px;
    background: var(--color-white);
    border-radius: 8px;
}
#open-source .cards-wrapper .open-source-card .logo-wrapper {
    margin-bottom: 24px;
}
#open-source .cards-wrapper .open-source-card img {
    display: block;
    width: 96px;
    height: auto;
    margin: 0 auto;
}
#open-source .cards-wrapper .open-source-card .card-title {
    margin-bottom: 10px;
    padding-bottom: 0;
}

#community {
    padding: 68px 0;
    text-align: center;
}
#community .section-title {
    max-width: 775px;
    margin: 0 auto 16px;
}
#community .intro-text {
    max-width: 775px;
    margin: 0 auto;
}
#community .community-img {
    max-width: 750px;
    margin: 56px auto 0;
}

#testimonials {
    padding: 68px 0 0;
    background: #efefef;
}
#testimonials .section-title {
    margin-bottom: 10px;
    padding-bottom: 0;
}
#testimonials .subtitle {
    margin-bottom: 10px;
    text-align: center;
}
#testimonials .testimonials-wrapper {
    max-width: 100vw;
    overflow: hidden;
    margin-top: 50px;
    padding-bottom: 80px;
}
#testimonials .splide__list {
    gap: 30px;
    animation: scroll 76s linear infinite;
}
#testimonials .splide__list + .splide__list {
    margin-left: 30px !important;
}
#testimonials .testimonials-wrapper:hover .splide__list {
    animation-play-state: paused;
}
#testimonials .splide {
    visibility: visible;
}

@keyframes scroll {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-100%); }
}

#testimonials .testimonials-col {
    display: flex;
    flex-direction: column;
    flex-shrink: 0;
    gap: 30px;
    width: 360px;
}
#testimonials .testimonials-col .testi-item {
    padding: 30px;
    background: var(--color-white);
    color: var(--color-gray-900);
    border: 1px solid #DCDDE0;
    border-radius: 8px;
    box-shadow: 0 100px 80px 0 rgba(102, 124, 167, .04),
                0 42px 33px 0 rgba(102, 124, 167, .03),
                0 22px 18px 0 rgba(102, 124, 167, .02),
                0 13px 10px 0 rgba(102, 124, 167, .01);
}
#testimonials .testimonials-col .testi-item:hover {
    text-decoration: none;
}
#testimonials .testimonials-col .testi-item:before {
    content: "";
    display: block;
    width: 39px;
    height: 30px;
    margin: 0 auto 10px;
    background: url('../img/quote-sign.svg') no-repeat center center/100%;
}
#testimonials .testimonials-col .testi-item .item-title {
    font-size: var(--font-size-base);
    text-align: center;
}
#testimonials blockquote {
    margin: 0;
    font-style: normal;
    font-size: var(--font-size-sm);
    font-weight: 500;
    text-align: center;
}
#testimonials .testimonials-col .testi-item .item-footer {
    align-items: center;
    margin-top: 30px;
}
#testimonials .testimonials-col .testi-item .logo-wrapper {
    width: 50%;
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
    padding-right: 20px;
}
#testimonials .testimonials-col .testi-item .logo-wrapper .stars-wrapper img {
    display: block;
}
#testimonials .testimonials-col .testi-item .author-wrapper {
    width: 50%;
    flex-shrink: 0;
}
#testimonials .testimonials-col .testi-item .author {
    font-size: var(--font-size-sm);
    font-weight: 700;
}
#testimonials .testimonials-col .testi-item .position {
    font-size: 11px;
    font-weight: 500;
    color: #5f5f5f;
}
#testimonials .splide-mobile-only {
    display: none;
}

#demo {
    padding: 80px 0;
    background-image: linear-gradient(to right, #072773, #2C5FBA);
    background-image: url(../img/home-get-started-bg.svg), linear-gradient(to right, #072773, #2C5FBA);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
#demo .section-title {
    margin-bottom: 40px;
    padding-bottom: 0;
    color: var(--color-white);
}

@media screen and (max-width: 1559px) {
    .splide__arrow--next {right: -60px}
    .splide__arrow--prev {left: -60px}
}

@media only screen and (max-width: 1360px) {
    #customers .section-container {width: 1224px}
    #customers .splide {padding: 0 20px}
    .splide__arrow--prev {left: -22px}
    .splide__arrow--next {right: -22px}
}

@media only screen and (max-width: 1299px) {
    #customers .splide {margin-left: 0;margin-right: 0}
}
@media screen and (max-width: 1199px) {
    .splide__arrow--next {right: -30px}
    .splide__arrow--prev {left: -30px}
    #demo {background-position: center left}
}

@media only screen and (max-width: 1023px) {
    #hero-section {
        padding-top: 130px;
    }
    #hero-section > .section-container {
        display: block;
    }
    #hero-section .col-right {
        display: block;
        width: 70%;
        margin: 30px auto 0;
    }
    .splide__arrow--prev {left: -10px}
    .splide__arrow--next {right: -10px}
    #security .txt-img-row .img-wrapper {
        width: 40%;
    }
    #security .txt-img-row:nth-child(even) .content-wrapper {
        margin-left: 56px;
    }
    #security .txt-img-row:nth-child(odd) .content-wrapper {
        margin-right: 56px;
    }
    #open-source .cards-wrapper {
        padding: 0;
    }
}

@media only screen and (max-width: 767px) {
    #hero-section {
        padding-top: 100px;
        padding-bottom: 30px;
        background-size: auto 100%;
    }
    #hero-section .page-title {
        font-size: var(--font-size-4xl);
    }
    #hero-section .col-right {
        width: auto;
    }
    #customers,
    #security,
    #community {
        padding: 40px 0;
    }
    #customers {
        max-width: 100vw;
        overflow: hidden;
    }
    #security {
        overflow: hidden;
    }
    #customers .sol-section-title,
    #security .section-title {
        margin-top: 0;
        font-size: 32px;
    }
    #customers .section-container {
        max-width: 100%;
    }
    #customers .splide {
        min-height: 100px;
        margin-left: -40px;
        margin-right: -40px;
    }
    #customers .splide__slide {
        text-align: center;
    }
    #security {
        padding-bottom: 24px;
    }
    #security .section-title {
        margin-bottom: 2px;
    }
    #security .txt-img-row,
    #security .txt-img-row:nth-child(odd) {
        flex-direction: column;
    }
    #security .txt-img-row .img-wrapper {
        width: 395px;
    }
    #security .txt-img-row .content-wrapper {
        text-align: center;
    }
    #security .txt-img-row:nth-child(even) .content-wrapper,
    #security .txt-img-row:nth-child(odd) .content-wrapper {
        width: 335px;
        margin: 0 auto;
    }
    #security .txt-img-row .row-title {
        margin-top: -14px;
        margin-bottom: 8px;
        padding-bottom: 0;
        font-size: var(--font-size-2xl);
        font-weight: 600;
    }
    #security .txt-img-row .entry-content p {
        line-height: 1.5;
    }

    #open-source {
        padding: 80px 0 40px;
        background-image: url('../img/home-calico-prods-bg-mobile.svg'), linear-gradient(to right, #072773, #2C5FBA);
        background-position: top left;
        background-size: contain;
    }
    #open-source .section-title,
    #community .section-title {
        font-size: var(--font-size-4xl);
        line-height: 1.4;
    }
    #open-source .subtitle {
        font-size: var(--font-size-md);
    }
    #open-source .cards-wrapper {
        flex-direction: column;
        gap: 20px;
        margin-top: 36px;
    }
    #open-source .cards-wrapper .open-source-card {
        width: 100%;
        padding: 32px 35px;
    }
    #open-source .cards-wrapper .open-source-card .card-title {
        font-size: var(--font-size-2xl);
    }
    #open-source .cards-wrapper .open-source-card p {
        margin-bottom: 0;
    }
    #community .section-title {
        margin-bottom: 6px;
    }
    #community .intro-text {
        font-size: var(--font-size-md);
    }
    #community .community-img {
        max-width: 100%;
        margin-top: 26px;
    }

    #testimonials {
        padding-top: 57px;
    }
    #testimonials .section-title {
        padding: 0 20px;
    }
    #testimonials .subtitle {
        padding: 0 20px;
        font-size: var(--font-size-md);
    }
    #testimonials .splide__list {
        animation: none;
        gap: 20px;
    }
    #testimonials .splide {
        display: none;
    }
    #testimonials .splide-mobile-only {
       display: block;
       margin-top: 43px;
    }
    #testimonials .splide__track {
        padding-bottom: 44px;
    }

    #demo {
        padding: 50px 0 40px;
        background-image: url(../img/home-calico-prods-bg-mobile.svg), linear-gradient(to right, #072773, #2C5FBA);
        background-position: top left;
        background-size: contain;
    }
    #demo .section-title {
        margin-top: 0;
        margin-bottom: 20px;
        padding: 0 20px;
        font-size: var(--font-size-4xl);
    }
}

@media only screen and (max-width: 374px) {
    #security .txt-img-row .img-wrapper {
        width: 360px;
    }
    #security .txt-img-row:nth-child(even) .content-wrapper,
    #security .txt-img-row:nth-child(odd) .content-wrapper {
        width: 300px;
    }
}

