/* 1) Bootstrap overrides/settings */
:root {
    --bs-success: #72AC3E;
    --bs-success-rgb: 112, 184, 42;
    --bs-body-font-family: 'Inter', sans-serif;
    --ofee-green: #72AC3E;
    --ofee-green-dark: #4b8f1a;
    --ofee-light: #f5f8f3;
    --ofee-muted: #6f786e;
    --ofee-border: #dfe6da;
    --ofee-dark: #123019;
    --bs-border-radius-sm: 0.5rem;
    --bs-carousel-indicator-active-bg: #72ac3e;
}

.btn {
    --bs-btn-font-size: 0.74rem;
}
.btn-success {
    --bs-btn-bg: var(--ofee-green);
    --bs-btn-border-color: var(--ofee-green);
    --bs-btn-hover-bg: var(--ofee-green-dark);
    --bs-btn-hover-border-color: var(--ofee-green-dark);
    --bs-btn-active-bg: var(--ofee-green-dark);
    --bs-btn-active-border-color: var(--ofee-green-dark);
    font-weight: 400;
    padding: 0.45rem 1.1rem;
}
.btn-outline-success {
    --bs-btn-color: var(--ofee-green-dark);
    --bs-btn-border-color: #9ac96d;
    --bs-btn-hover-bg: #f0f8e9;
    --bs-btn-hover-border-color: #8fc05f;
    --bs-btn-hover-color: var(--ofee-green-dark);
    font-weight: 400;
}

/* 2) Typography defaults */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Inter', sans-serif;
    color: #1f2a22;
    margin: 0;
}

h1 {
    font-size: 2.1rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

h2 {
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

h3 {
    font-size: 0.95rem;
    font-weight: 700;
}

p,
a,
li,
span,
input,
button {
    font-family: 'Inter', sans-serif;
}

p {
    margin: 0;
    line-height: 1.55;
    color: var(--ofee-muted);
}

a {
    color: inherit;
    text-decoration: none;
}

/* 3) Global layout rules */
body {
    margin: 0;
    background: #ffffff;
    color: #243026;
    font-family: 'Inter', sans-serif;
}

.pageWidth {
    width: min(100%, 64rem);
    margin-inline: auto;
    padding-inline: 0.75rem;
}

.site-shell {
    /*background: linear-gradient(180deg, #f7faf4 0%, #ffffff 20%, #f6f8f5 100%);*/

    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.sectionTitle {
    margin-bottom: 1.3rem;
}

.sectionTitle h2 {
    text-transform: uppercase;
}

.storyImage,
.solutionImage,
.featureCard img,
.howCard img {
    width: 100%;
    display: block;
}

/* 4) Section-specific styles */

/* Header and top navigation */
.headerWrapper {
    background: #ffffff;
    border-bottom: 1px solid #edf2e8;
}

.ofeeNavbar {
    min-height: 4.3rem;
}

.navMainLinks .nav-link {
    font-size: 0.72rem;
    font-weight: 600;
    color: #49584b;
    letter-spacing: 0.04em;
}
@media screen and (max-width: 991px) {
    .ofeeNavbar {
        padding: 0.8rem 0;
    }

    .navMainLinks {
        padding: 0.7rem 0;
        text-align: center;
    }
    .ofeeNavbar .poweredBy {
        margin-left: 0rem;
        padding-left: 0.77rem;
        border-left: 0.045rem solid #d8d8d8;
        max-width: 4.08rem;
        color: #8d8d8d;
        font-size: 0.5rem;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }
}
@media screen and (min-width: 992px) {
    .headerWrapper {
        background: #ffffff;
        border-bottom: none;
    }

    .headerWrapper .pageWidth {
        padding-inline: 0;
    }

    .ofeeNavbar {
        min-height: 4.484rem;
        padding: 0;
        align-items: center;
        justify-content: space-between;
    }

    .ofeeNavbar .navbar-brand {
        padding: 0;
        margin-right: 2.582rem;
    }

    .ofeeNavbar .logo-top {
        width: 7.111rem;
        height: auto;
        display: block;
    }

    .ofeeNavbar .poweredBy {
        margin-left: 0.815rem;
        padding-left: 0.77rem;
        border-left: 0.045rem solid #d8d8d8;
        max-width: 4.08rem;
        color: #8d8d8d;
        font-size: 0.5rem;
        font-weight: 700;
        line-height: 1.1;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }

    .ofeeNavbar .navbar-collapse {
        flex-grow: 0;
    }

    .navMainLinks {
        width: 45.063rem;
        margin: 0 !important;
        justify-content: flex-end;
        flex-direction: row;
        gap: 1.5rem;
    }

    .navMainLinks .nav-link {
        padding: 0;
        color: #1f1f1f;
        font-size: 0.8rem;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.01em;
        text-transform: uppercase;
    }
}

/* Hero carousel section */
.heroWrapper {
    background: #ffffff;
}

.heroSlide {
    min-height: 16rem;
    border-radius: 0;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.heroSlide--1 {
    background-image: url('../images/hero-slide-1.jpg');
}

.heroSlide--2 {
    background-image: url('../images/hero-slide-2.jpg');
}

.heroSlide--3 {
    background-image: url('../images/hero-slide-3.jpg');
}

.heroSlide--4 {
    background-image: url('../images/hero-slide-4.jpg');
}

.heroSlide--5 {
    background-image: url('../images/hero-slide-5.jpg');
}

/*.heroOverlay {
    position: absolute;
    inset: 0;
    background: rgba(12, 28, 17, 0.45);
}*/

.heroContent {
    position: relative;
    z-index: 2;
    min-height: 16rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    padding: 1rem;
    height: 42vw;
}

.heroContent p {
    color: #eef6ec;
    font-size: 2.4rem;
    margin-bottom: 0.45rem;
}

.heroContent h1 {
    color: #ffffff;
    font-size: 3rem;
    text-transform: uppercase;
}
.heroContent .btn-success{
    padding: 1rem 2rem;
    text-transform: uppercase;
}
.heroWrapper .carousel-control-prev,
.heroWrapper .carousel-control-next {
    width: 25%;
}

.heroWrapper .carousel-indicators{
    bottom: 0.5rem;
}
.heroWrapper .carousel-inner{
    z-index: 0;
}
.heroWrapper .carousel-indicators [data-bs-target] {
    width: 0.7rem;
    height: 0.7rem;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    border: none;
    padding: 0;
    background: #dedede;
    border-radius: 50%
}
.heroWrapper .carousel-indicators [data-bs-target].active {
    background: #72ac3e;
}
.heroWrapper .carousel-control-next, .heroWrapper .carousel-control-prev{
    opacity: 1;
}
.heroWrapper .carousel-control-next .btn, .heroWrapper .carousel-control-prev .btn{
    width: 3rem;
    height: 3rem;
    color: #fff;
    line-height: 2rem;
}
.heroBoxOverlay {
    position: absolute;
    inset: 0;
    background: rgba(12, 28, 17, 0.45);
}
@media screen and (max-width: 991px) {
    .heroContent p {
        font-size: 4vw;
        padding-top: 11rem;
    }

    .heroContent h1 {
        font-size: 6vw;
    }

    .heroSlide,
    .heroContent {
        min-height: 30rem;
    }
    .heroWrapper .carousel-control-prev, .heroWrapper .carousel-control-next {
        display: none;
    }
}

/* Hero carousel section */
.heroImageWrapper {
    background: #ffffff;
}

.heroBox {
    min-height: 10rem;
    border-radius: 0;
    position: relative;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}
.heroBoxContent {
    position: relative;
    z-index: 2;
    min-height: 10rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    color: #ffffff;
    padding: 1rem 10vw;
    height: 20vw;
}

.heroBoxContent p {
    color: #eef6ec;
    font-size: 1rem;
    margin-bottom: 0.45rem;
}

.heroBoxContent h1 {
    color: #ffffff;
    font-size: 2rem;
    text-transform: uppercase;
    margin-bottom: 0.5rem;
}
.heroBoxContent .btn-success{
    padding: 1rem 2rem;
    text-transform: uppercase;
}
@media screen and (max-width: 991px) {
    .heroBoxContent p {
        font-size: 2vw;
        padding-top: 5rem;
    }

    .heroBoxContent h1 {
        font-size: 3vw;
    }

    .heroBox,
    .heroBoxContent {
        min-height: 20rem;
    }
}

/* Metrics strip section */
.statsWrapper {
    background-color: var(--ofee-green);
    background-image: url('../images/stat-bg.png');
    background-size: cover;
}

.statsRow {
    color: #ffffff;
}

.statsItem {
    padding: 0.75rem 0.5rem;
}

.statsItem strong {
    display: block;
    font-size: 1.15rem;
    font-weight: 800;
}

.statsItem span {
    font-size: 0.64rem;
    letter-spacing: 0.05em;
}

@media screen and (min-width: 992px) {
    .statsWrapper {
        background-color: #7aae44;
    }

    .statsRow {
        min-height: 8.813rem;
        align-items: center;
    }

    .statsItem {
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        row-gap: 0.438rem;
    }

    .statsItem strong {
        margin: 0;
        font-size: 1.813rem;
        font-weight: 800;
        line-height: 1;
    }

    .statsItem span {
        display: block;
        font-size: 0.813rem;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
    }
}

/* Plans cards section */
.plansWrapper {
    padding: 2rem 0;
    background: linear-gradient(180deg, #E8EFF5 0%, rgba(232, 239, 245, 0.44) 100%);
}

.planCard {
    background: #ffffff;
    border: 1px solid var(--ofee-border);
    border-radius: 0.4rem;
    padding: 1.2rem 1rem;
    height: 100%;
}

.planCard h3 {
    margin-bottom: 0.5rem;
    text-transform: uppercase;
}

.planCard p {
    margin-bottom: 0.8rem;
    font-size: 0.84rem;
}

@media screen and (min-width: 992px) {
    .plansWrapper {
        padding: 3rem 0 3rem;
    }

    .plansWrapper .pageWidth {
        padding-inline: 0;
    }

    .plansWrapper .sectionTitle {
        margin-bottom: 1.72rem;
    }

    .plansWrapper .row {
        --bs-gutter-x: 1.18rem;
        --bs-gutter-y: 1.18rem;
    }

    .plansWrapper .planCard {
        border: none;
        border-radius: 0.9rem;
        box-shadow: none;
        min-height: 17.68rem;
        padding: 1.54rem 1.27rem 1.3rem;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .plansWrapper .planCard.featured {
        border: none;
        box-shadow: none;
    }

    .plansWrapper .planCard h3 {
        margin-bottom: 0.18rem !important;
    }

    .plansWrapper .planCard p {
        margin-bottom: 0.2rem;
    }

    .plansWrapper .planCard .btn {
        margin-top: auto;
        width: 10.13rem;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        text-transform: uppercase;
        letter-spacing: 0;
    }
}
/*.plansWrapper .planCard.featured {
    border-color: #b6d592!important;
    box-shadow: 0 0.5rem 1.2rem rgba(84, 142, 24, 0.08);
}*/

/* Solution split-content section */
.solutionWrapper {
    padding: 2.1rem 0;
    background: #ffffff;
}

.solutionWrapper h2 {
    margin-bottom: 0.8rem;
}

.solutionImage {
    border-radius: 0.45rem;
    object-fit: cover;
    max-height: 14rem;
}

@media screen and (min-width: 992px) {
    .solutionWrapper {
        padding: 3.875rem 0 4rem;
        background: #ffffff;
    }

    .solutionWrapper .pageWidth {
        padding-inline: 0;
    }

    .solutionWrapper .row {
        --bs-gutter-x: 2.25rem;
        --bs-gutter-y: 0;
    }

    .solutionWrapper h2 {
        margin-bottom: 0.438rem;
        text-transform: uppercase;
    }

    .solutionWrapper .text-success {
        margin-bottom: 1.563rem !important;
        text-transform: uppercase;
        font-size: 1.4rem;
    }

    .solutionWrapper h3 {
        margin-bottom: 1.5rem;
        font-size: 1.4rem;
        line-height: 1.12;
    }

    .solutionWrapper p {
        font-size: 0.94rem;
    }

    .solutionImage {
        width: 100%;
        max-height: none;
        height: 21rem;
        border-radius: 0.5rem;
    }
}

/* Health plans icons section */
.healthplansWrapper {
    padding: 2rem 0;
    background: linear-gradient(180deg, #E8EFF5 0%, rgba(232, 239, 245, 0.44) 100%);
}

.iconCard {
    padding: 0.5rem;
}

.iconCard img {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    object-fit: cover;
    border: 4px solid #dce8d0;
    margin-bottom: 0.7rem;
}

@media screen and (min-width: 992px) {
    .healthplansWrapper {
        padding: 3rem 0;
    }

    .healthplansWrapper .pageWidth {
        padding-inline: 0;
    }

    .healthplansWrapper .sectionTitle {
        margin-bottom: 1.938rem;
    }

    .healthplansWrapper .sectionTitle h2 {
        color: #1e1f23;
        line-height: 1;
        letter-spacing: 0.01em;
    }
    .healthplansColumnsWrapper{
        width: 90%;
        margin: auto;
    }
    .healthplansWrapper .row {
        --bs-gutter-x: 2.688rem;
        --bs-gutter-y: 0;
        align-items: flex-start;
    }

    .healthplansWrapper .iconCard {
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .healthplansWrapper .iconCard img {
        width: 11.563rem;
        height: 11.563rem;
        margin-bottom: 1.25rem;
        border: 0.219rem solid #6fa73d;
    }

    .healthplansWrapper .iconCard h3 {
        max-width: 12.5rem;
        line-height: 1.22;
        letter-spacing: 0;
        text-transform: uppercase;
        color: #202124;
    }
}

/* What we do feature grid section */
.whatWeDoWrapper {
    padding: 2.2rem 0;
    background: #ffffff;
}

.featureCard {
    background: #ffffff;
    border: 1px solid var(--ofee-border);
    border-radius: 0.45rem;
    padding: 0.7rem;
    height: 100%;
}

.featureCard img {
    border-radius: 0.35rem;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    margin-bottom: 0.7rem;
}

.featureCard h3 {
    text-transform: uppercase;
    margin-bottom: 0.4rem;
}

.featureCard p {
    font-size: 0.8rem;
    margin-bottom: 0.6rem;
}

@media screen and (min-width: 992px) {
    .whatWeDoWrapper {
        padding: 3.5rem 0 3.875rem;
        background: #ffffff;
    }

    .whatWeDoWrapper .pageWidth {
        padding-inline: 0;
    }

    .whatWeDoWrapper .sectionTitle {
        margin-bottom: 2.063rem;
    }

    .whatWeDoWrapper .sectionTitle h2 {
        color: #252525;
        font-size: 2.002rem;
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        margin-bottom: 0.5rem;
    }

    .whatWeDoWrapper .sectionTitle p {
        font-size: 1rem;
        font-weight: 400;
        line-height: 1.2;
        color: #6f7b7e;
    }

    .whatWeDoWrapper .row {
        --bs-gutter-x: 1.75rem;
        --bs-gutter-y: 2.438rem;
    }

    .whatWeDoWrapper .featureCard {
        background: transparent;
        border: 0;
        border-radius: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
    }

    .featureCard > a.btn{
        margin-top: auto;
    }

    .whatWeDoWrapper .featureCard img {
        margin-bottom: 0.938rem;
        border-radius: 0.5rem;
        aspect-ratio: 16 / 8;
    }

    .whatWeDoWrapper .featureCard h3 {
        margin-bottom: 0.625rem;
        text-transform: none;
        font-size: 1.2rem;
        font-weight: 700;
        line-height: 1;
        color: #2d2f31;
    }

    .whatWeDoWrapper .featureCard p {
        margin-bottom: 1.25rem;
        font-size: 0.94rem;
        font-weight: 400;
        line-height: 1.4;
        color: #626c70;
    }

    .whatWeDoWrapper .featureCard .btn-outline-success {
        min-width: 6.938rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

/* Profile example strip section */
.profileWrapper {
    padding: 2rem 0;
    background-color: #ecf4e4;
    background: linear-gradient(180deg, #E8EFF5 0%, rgba(232, 239, 245, 0) 80%, rgba(255,255,255,1) 100%);
}
.profileWrapper .profileScreens {
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
}

.profileWrapper .profileScreens > [class*="col"] {
    flex: 0 0 20%;
}

.profileWrapper .profileScreens > [class*="col"]:nth-child(3) {
    flex-basis: 25%;
}

.profileWrapper .appScreenItemIcon {
    display: block;
    width: 100%;
    height: auto;
}
@media screen and (min-width: 992px) {
    .profileWrapper {
        padding: 3rem 0;
    }

    .profileWrapper .pageWidth {
        padding-inline: 0;
    }

    .profileWrapper .sectionTitle {
        margin-bottom: 2.688rem;
    }

    .profileWrapper .sectionTitle h2 {
        font-weight: 700;
        line-height: 1;
        letter-spacing: 0;
        color: #212429;
        margin-bottom: 1.188rem;
    }

    .profileWrapper .sectionTitle p {
        font-weight: 400;
        line-height: 1.22;
        color: #626d72;
        max-width: 62.5rem;
        margin-inline: auto;
    }
}

/* text section */
.textWrapper {
    padding: 3rem 0;
    background: #ffffff;
}
.textWrapper.bg2 {
    background: #edf2f8;
}
.sectionTextContent h1{
    color: #252525;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}
.sectionTextContent h2{
    color: #252525;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
    text-transform: none;
    margin-top: 1rem;
}
.sectionTextContent h3{
    color: #252525;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    margin-bottom: 0.5rem;
    margin-top: 1rem;
}
.sectionTextContent p{
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    color: #6f7b7e;
    margin-bottom: 0.5rem;
}
.sectionTextContent li{
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.2;
    color: #6f7b7e;
}

/* Story gallery section */
.storyWrapper {
    padding: 3rem 0;
    background: #edf2f8;
}

.storyImage {
    border-radius: 0.45rem;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

/* Testimonials carousel section */
.testimonialsWrapper {
    padding: 3rem 0;
    background: #f9fbfd;
}

.testimonialCard {
    max-width: 34rem;
    margin: 0 auto;
    padding: 1.2rem;
}

#testimonialCarousel .carousel-inner {
    width: 70%;
    margin: auto;
    border: 1px solid var(--ofee-border);
    border-radius: 0.5rem;
    height: 18rem;
}

.testimonialAvatar {
    width: 4.2rem;
    height: 4.2rem;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 0.55rem;
}

.testimonialCard h3 {
    margin-bottom: 0.35rem;
}

.testimonialCard p {
    font-size: 0.84rem;
}

.testimonialsWrapper .carousel-indicators{
    bottom: 0.5rem;
}
.testimonialsWrapper .carousel-indicators [data-bs-target] {
    width: 0.7rem;
    height: 0.7rem;
    margin-right: 0.5rem;
    margin-left: 0.5rem;
    border: none;
    padding: 0;
    background: #dedede;
    border-radius: 50%
}
.testimonialsWrapper .carousel-indicators [data-bs-target].active {
    background: #72ac3e;
}
.testimonialsWrapper .carousel-control-next, .testimonialsWrapper .carousel-control-prev{
    opacity: 1;
}
.testimonialsWrapper .carousel-control-next .btn, .testimonialsWrapper .carousel-control-prev .btn{
    width: 3rem;
    height: 3rem;
    color: #fff;
    line-height: 2rem;
}

@media screen and (max-width: 991px) {
    #testimonialCarousel .carousel-inner {
        height: 25rem;
    }
}
/*#######*/

.someSliderWrap{
    width: auto;
    overflow: hidden;
    position: relative;
}
@media screen and (min-width: 992px) {
    .someSliderWrap{
        height: 37vw; /*360px;/* initial height */
    }
}

@media screen and (max-width: 991px) {
    .someSliderWrap {
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
    }
    .someSliderWrap::-webkit-scrollbar {
        display: none;
    }
}

.someSliderWrapPartialWidth{
    position: relative;
}
.someSliderWrapPartialWidth .someSliderWrap{
    border-radius: 10px;
}
.someSlider{
    position: relative;
    width: auto;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}
.someSlider::-webkit-scrollbar {
    display: none;
}
.someSlides{
    padding: 0 11vw;
    width: 1000vw;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: stretch;
}
.someSliderWrapPartialWidth .someSlides{
    padding: 0;
}
.someSlide{
    padding: 0 1vw 0.7vw 0;
    box-sizing: border-box;
}
.someSliderWrapPartialWidth .someSlide {
    padding: 0 1vw 0 0;
}
@media screen and (max-width: 991px) {
    .noMobileSlider .someSlides{
        width: auto!important;
        display: block;
    }
    .noMobileSlider .someSlide{
        width: auto!important;
    }

    .someSliderWrapPartialWidth .someSliderWrap {
        border-radius: 0;
    }
    .someSlide{
        padding: 0 10px 14px 0;
        box-sizing: border-box;
    }
    .someSliderWrapPartialWidth .someSlide {
        padding: 0 10px 0 0;
    }
}
.someSlide img{
    pointer-events: none;
}
.someSliderArrow{
    position: absolute;
    top: calc(50% - 1.13vw);

    width: 2.33vw;
    height: 2.33vw;
    border-radius: 50%;
    box-shadow: 1px 1px 10px rgba(0,0,0,0.4);
    padding: 0;
    box-sizing: border-box;
    background-color: #fff;
    z-index: 20;
    opacity: 1;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50% auto;
    cursor: pointer;
}
.someSliderArrowLeft{
    background-image: url("../images/left-arrow-slider.svg");
    left: 4.6vw;
}
.someSliderArrowRight{
    background-image: url("../images/right-arrow-slider.svg");
    right: 4.6vw;
}
.someSliderWrapPartialWidth .someSliderArrowLeft{
    left: -1.1vw;
}
.someSliderWrapPartialWidth .someSliderArrowRight{
    right: -1.1vw;
}
@media screen and (max-width: 991px) {
    .someSlides{
        padding: 0 5vw;
    }
    .someSliderArrow {
        display: none;
    }
}
/*#######*/
/* Horizontal scrolling how-it-works section */
.howItWorksWrapper {
    padding: 2rem 0;
    background: #ffffff;
}

.howScrollRail {
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    padding: 0.4rem 0.1rem 0.8rem;
}

.howScrollRail::-webkit-scrollbar {
    height: 0.45rem;
}

.howScrollRail::-webkit-scrollbar-thumb {
    background: #bdd9a0;
    border-radius: 999px;
}

.howCard {
    min-width: 18.5rem;
    flex: 0 0 18.5rem;
    background: #f3f8fd;
    border-radius: 0.5rem;
    padding: 0.8rem;
    position: relative;
    scroll-snap-align: start;
}

.howStep {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--ofee-green);
    color: #ffffff;
    font-size: 0.78rem;
    display: grid;
    place-content: center;
    font-weight: 700;
    margin-bottom: 0.55rem;
}

.howCard img {
    border-radius: 0.35rem;
    margin-bottom: 0.55rem;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.howCard h3 {
    margin-bottom: 0.3rem;
}

.howCard p {
    font-size: 0.8rem;
}

@media screen and (min-width: 992px) {
    .howItWorksWrapper {
        padding: 3rem 0;
        overflow: hidden;
    }

    .howItWorksWrapper .pageWidth {
        padding-inline: 0;
        width: 90%;
        margin-right: -1.5rem;
    }

    .howItWorksWrapper .sectionTitle {
        margin-bottom: 0;
    }

    .howItWorksWrapper .sectionTitle h2 {
        font-size: 2.125rem;
        line-height: 1;
        letter-spacing: 0.01em;
        margin-bottom: 0.75rem;
        color: #1e2124;
    }

    .howItWorksWrapper .sectionTitle p {
        max-width: 56rem;
        margin-inline: auto;
        font-size: 0.95rem;
        line-height: 1.35;
        color: #6a737b;
    }

    .someSlidesBar {
        position: absolute;
        top: 3.3rem;
        left: 12vw;
        right: 0;
        height: 0.438rem;
        width: 100%;
        background: linear-gradient(90deg, #b8e09c 0, #b8e09c 26rem, #e8e8e8 26rem, #e8e8e8 100%);
    }
    .howScrollRail {
        position: relative;
        gap: 1.875rem;
        padding: 6.875rem 0.125rem 0.5rem;
        overflow-x: auto;
        scroll-snap-type: none;
    }

    .howScrollRailInner{
        position: relative;
        display: flex;
        gap: 1rem;
        width: calc(7 * 26.5rem + 10vw);
    }
    .howScrollRailInner .howScrollRailBar {
        position: absolute;
        top: -3.65rem;
        left: 2.25rem;
        right: 0;
        height: 0.438rem;
        width: calc(100% - 26rem - 10vw);
        background: linear-gradient(90deg, #b8e09c 0, #b8e09c 26rem, #e8e8e8 26rem, #e8e8e8 100%);
    }

    .howScrollRail::-webkit-scrollbar {
        height: 0;
    }

    .howCard {
        min-width: 25.5rem;
        width: 25.5rem;
        flex: 0 0 25.5rem;
        border: none;
        border-radius: 0.5rem;
        background: #f3f8fd;
        padding: 1.5rem 1.25rem 1.25rem 2.25rem;
        overflow: visible;
        margin-top: 7rem;
    }

    .howCard::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        width: 0.75rem;
        /*border-radius: 0.5rem 0 0 0.5rem;*/
        background: var(--ofee-green);
        border-radius: 0.5rem;
    }

    .howStep {
        width: 5rem;
        height: 5rem;
        margin: 0;
        border-radius: 50%;
        position: absolute;
        top: -6rem;
        left: -0.063rem;
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1;
        padding-top: 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        letter-spacing: 0;
    }

    .howStep::after {
        content: "DAY";
        display: block;
        margin-top: 0.188rem;
        font-size: 1rem;
        font-weight: 700;
        line-height: 1;
    }

    .howCard > p:first-of-type {
        font-size: 0.88rem;
        line-height: 1.3;
        color: #616a72;
        margin-bottom: 0.625rem;
    }

    .howCard h3 {
        font-size: 1.1rem;
        line-height: 1.24;
        color: #4f5a63;
        margin-bottom: 1rem;
        letter-spacing: 0;
        font-weight: 600;
    }

    .howCard img {
        margin-bottom: 1rem;
        border-radius: 0.5rem;
        aspect-ratio: 16 / 8.2;
    }

    .howCard > p:nth-of-type(n + 2) {
        display: flex;
        align-items: center;
        gap: 0.625rem;
        font-size: 0.92rem;
        line-height: 1.35;
        color: #5e6871;
    }

    .howCard > p:nth-of-type(n + 2) + p {
        margin-top: 0.5rem;
    }

    .howCard > p:nth-of-type(n + 2)::before {
        content: "\2713";
        width: 1.25rem;
        height: 1.25rem;
        flex: 0 0 1.25rem;
        border-radius: 50%;
        background: var(--ofee-green);
        color: #ffffff;
        font-size: 0.7rem;
        font-weight: 700;
        line-height: 1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

}



/* Newsletter callout section */
.newsletterWrapper {
    padding: 1.5rem 0;
    background: var(--ofee-green);
}

.newsletterWrapper .pageWidth {
    padding-inline: 0;
}

.newsletterBox {
    max-width: 50rem;
    margin-inline: auto;
}

.newsletterBox h2 {
    margin-bottom: 0.688rem;
    color: #ffffff;
    font-size: 2.139rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: 0;
}

.newsletterBox p {
    max-width: 40.75rem;
    margin: 0 auto 1.875rem;
    color: #f1f8e9;
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.28;
}

.newsletterForm {
    display: block;
    padding: 0;
}

.newsletterForm .newsletterFormFieldWrap {
    position: relative;
    margin: 0 auto;
    display: block;
}

.newsletterForm input {
    width: 100%;
    height: 3.438rem;
    border: 0.05rem solid rgba(255, 255, 255, 0.9);
    border-radius: 999rem;
    background: transparent;
    padding: 0 4.5rem 0 1.938rem;
    color: #f5f8f3;
    font-size: 0.9rem;
    line-height: 1;
}

.newsletterForm input::placeholder {
    color: #f5f8f3;
    opacity: 1;
}

.newsletterForm .btn {
    position: absolute;
    top: 50%;
    right: 0.438rem;
    transform: translateY(-50%);
    width: 2.844rem;
    height: 2.844rem;
    border-radius: 50%;
    border: none;
    background: #f5f8f3;
    color: #2f67ff;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    --bs-btn-bg: #f5f8f3;
    --bs-btn-border-color: #f5f8f3;
    --bs-btn-hover-bg: #f5f8f3;
    --bs-btn-hover-border-color: #f5f8f3;
    --bs-btn-active-bg: #f5f8f3;
    --bs-btn-active-border-color: #f5f8f3;
    --bs-btn-color: #2f67ff;
    --bs-btn-hover-color: #2f67ff;
    --bs-btn-active-color: #2f67ff;
}

.newsletterForm .btn i {
    transform: translateX(0.08rem);
}

@media screen and (min-width: 992px) {
    .newsletterWrapper {
        padding: 3rem 0 3rem;
    }
    .newsletterForm .newsletterFormFieldWrap {
        width: 31rem;
    }
}


/* Footer section */
.footerWrapper {
    background: #0f2112;
    color: #d8e2d7;
    padding: 1rem 0;
}

.footerLinks {
    list-style: none;
    padding: 0;
}

.footerLinks a {
    font-size: 0.68rem;
    font-weight: 600;
    color: #d8e2d7;
    letter-spacing: 0.05em;
}

.footerWrapper {
    margin-top: auto;
}

@media screen and (min-width: 992px) {
    .footerWrapper {
        background: #161616;
        padding: 1.5rem 0;
    }

    .footerWrapper .pageWidth {
        padding-inline: 0;
    }

    .footerInner {
        min-height: 3.125rem;
        justify-content: flex-start !important;
        gap: 0 !important;
    }

    .footerWrapper .navbar-brand {
        margin: 0;
        padding: 0;
        flex: 0 0 auto;
    }

    .footerLogo {
        width: 5.8rem;
        height: auto;
        display: block;
    }

    .footerLinks {
        margin-left: 4.7rem;
        display: flex;
        flex-wrap: nowrap !important;
        align-items: center;
        gap: 4.95rem !important;
    }

    .footerLinks li {
        line-height: 1;
    }

    .footerLinks a {
        color: #ffffff;
        font-size: 0.8rem;
        font-weight: 400;
        letter-spacing: 0;
        line-height: 1;
        text-transform: uppercase;
        white-space: nowrap;
    }

    html {
        font-size: 1.15vw;
    }
}





/* check later */
/* Single custom breakpoint adjustments */
@media screen and (max-width: 992px) {
    .statsItem {
        border-top: 1px solid rgba(255, 255, 255, 0.25);
    }
}
