body {
    background: var(--almost-white);
}
.header {
    overflow: hidden
}
.header .header-content {
    padding-top: 4rem;
    text-align: center;
}
.header .text-container {
    margin: 3rem 0 2rem;
}
.btn-solid-reg.main-btn {
    width: 100%;
}
.header h1 {
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 600;
    display: inline;
    letter-spacing: -.05rem;
}
.arrow-right {
    animation: bounce 3s infinite;
    vertical-align: bottom;
    top: -.3rem;
    position: relative;
}
main h2,
main .h2 {
    font-size: 1.8rem;
    line-height: 2.3rem;
}
.p-large {
    max-width: 700px;
    margin: 1.5rem auto;
    font-size: 1.25rem;
    line-height: 1.75rem;
    color: var(--grey-text-darker);
    font-weight: 300;
}
.p-large.sm {
    font-size: 1.2rem;
    line-height: 1.7rem;
}
.top-title {
    display: inline;
    background: var(--main-lighter);
    font-size: 1rem;
    line-height: 1.25rem;
    font-weight: 500;
    color: var(--main);
    padding: 0 0.75rem;
    border-radius: 1rem;
    letter-spacing: 0;
    border: 1px solid;
    box-shadow: 0 2px var(--main);
}
.img-container {
    width: 100%
}
.search-block {
    padding: 3rem 0;
}
.action-block-bar {
    margin-top: 2rem;
    padding: 0 0 3rem;
}
.action-block,
.info-block {
    color: var(--almost-black);
    background: #fff;
    border-radius: 2rem;
    overflow: hidden;
    margin-bottom: 1.5rem;
    border: 1px solid var(--border-grey);
}
.action-block {
    box-shadow: none;
    cursor: pointer;
    transition: filter .2s ease;
}
.action-block.green h2,
.action-block.green p {
    color: #40524d;
}
.action-block.purple h2,
.action-block.purple p {
    color: #40457a;
}
.action-block.yellow h2,
.action-block.yellow p {
    color: #714f1a;
}
.action-block.green {
    background: #eefef9;
}
.action-block.purple {
    background: var(--almost-white);
}
.action-block.yellow {
    background: #fff2de;
}
.action-block-img-container {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding-top: 2rem;
    height: 200px;
}
.action-block-img {
    width: 70%;
    border-radius: 2rem;
    /* box-shadow: rgba(15, 56, 113, 0.32) 0 0 1px, rgba(15, 56, 113, 0.12) 0 1px 2px, rgba(15, 56, 113, 0.08) 0 2px 4px; */
}
.fade {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}
.action-block.green .fade {
    background: linear-gradient(180deg, transparent 85%, #eefef9 95%);
}
.action-block.purple .fade {
    background: linear-gradient(180deg, transparent 85%, var(--almost-white) 95%);
}
.action-block.yellow .fade {
    background: linear-gradient(180deg, transparent 85%, #fff2de 95%);
}
.action-block-text .p-large.sm {
    margin: 0 0 1rem;
}
.action-block:hover {
    filter: brightness(.95);
}
.action-block:hover .chevron {
    transform: translateX(5px);
}
.action-block-text, .info-block {
    padding: 2rem;
}
.action-block-text {
    padding-top: 1rem;
}
.quote-icon svg {
    vertical-align: bottom;
    top: .1rem;
    position: relative;
}
.info-block .quote-icon + svg {
    margin-bottom: 1rem;
}
.fa-check {
    border-radius: 50%;
    padding: .9rem;
    color: #31efb8;
    background: #dbfbef;
    font-size: .9rem;
}
.btn-solid-reg {
    margin-bottom: 1rem;
}
.header h1,
.about h2,
.templates h2,
.templates p {
    color: var(--almost-black);
    max-width: 700px;
    margin: auto;
}
.about h2 a {
    color: var(--main);
}
.about h2 a:hover {
    color: var(--main-darker);
}
.about {
    padding: 3rem 0;
}
.bg-white {
    background: #fff;
}
.card-body {
    padding: 0
}
.faq {
    padding: 3rem 0;
}
.faq h3 {
    margin: 2rem 0 0.5rem;
}
.reviews {
    padding: 3rem 0 0;
}
.review-text {
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 2rem;
}
.reviews h2,
.benefits h2,
.faq h2 {
    margin-bottom: 2rem
}
.templates {
    padding: 5rem 0;
    background: url(/src/images/template-bg.webp) no-repeat 50%;
    background-size: cover;
}
.templates p {
    color: #fff;
}
h2.top-title {
    display: inline;
    color: #fff !important;
}
.templates .container {
    max-width: 100%;
}
.text-field {
    margin: 0 0 1rem 0;
}
.profile {
    width: 50px;
    border-radius: 50%;
    margin-right: .5rem;
    border: 2px solid
}
ol li::marker {
    font-weight: 400;
}
.come-in {
    animation: come-in .8s ease forwards
}
.slide-in {
    transform: translateY(10%);
    opacity: 0;
}
.wave-separator {
    position: relative;
    z-index: -1;
}
.wave-separator svg {
    display: block;
    width: 100%;
    height: clamp(56px, 8vw, 120px);
}
@media(min-width: 1200px) {
    .come-in.slower {
        animation: come-in .8s ease .2s forwards
    }
    .come-in.slow {
        animation: come-in .8s ease .4s forwards
    }
}
@keyframes come-in {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}
@keyframes bounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateX(-3px);
    }
    40% {
        transform: translateX(2px);
    }
    60% {
        transform: translateX(0);
    }
}
@media (min-width: 576px) {
    .btn-solid-reg.main-btn {
        width: max-content;
    }
    .header .header-content {
        padding-top: 5rem;
    }
}
@media (min-width: 768px) {
    .about {
        padding: 7rem 0;
    }
    .reviews {
        padding: 5rem 0 0;
    }
    .search-block {
        padding: 7rem 0 3rem;
    }
    .faq {
        padding-top: 7rem;
    }
    .action-block,
    .info-block.single-row {
        margin-bottom: 0;
    }
    .blog-btn {
        margin-top: 2rem;
    }
}
@media (min-width: 992px) {
    .header h1 {
        font-size: 4rem;
        line-height: 4rem;
        letter-spacing: -.11rem;
    }
    .header .text-container {
        margin: 10rem 0 5rem;
    }
    .btn-solid-reg.main-btn {
        font-size: 1.25rem;
        padding: 1.25rem 2.5rem;
    }
    .p-large {
        font-size: 1.5rem;
        line-height: 2rem;
        margin: 2rem auto;
    }
    .arrow-right {
        width: 2.25rem;
    }
    .review-text {
        font-size: 2.25rem;
        line-height: 2.5rem;
        letter-spacing: -.05rem
    }
    .text-left-lg {
        text-align: left !important;
    }
    .margin-side-xl {
        margin-left: 2rem;
        margin-right: 2rem;
    }
}