@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

@font-face {
    font-family: 'Clearface';
    src: url("../../fonts/clearface/clearface_ssi_bold-webfont.woff2") format("woff2"),
        url("../../fonts/clearface/clearface_ssi_bold-webfont.woff") format("woff"),
        url("../../fonts/clearface/clearface_ssi_bold-webfont.ttf") format("truetype");
    font-display: swap;
}


.landing-sustainably {
    overflow-x: clip;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 100%;

    h1,
    h2,
    h3 {
        font-family: 'Clearface';
    }

    p {
        font-family: 'Lato';
    }

    .sustainably-cabecera {
        position: relative;
        background: #2B5738;

        .block-text {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;
            padding-top: 80px;
            padding-bottom: 80px;

            @media screen and (min-width: 992px) {
                min-height: 100vh;
                padding-right: 95px;
            }

            @media screen and (max-width: 991px) {
                padding-top: calc(336px + 24px);
                padding-bottom: 24px;
                padding-right: 70px;
            }

            .pretitle {
                margin: 0 0 24px;

                &,
                & * {
                    color: #EDE7E4;
                    font-family: "Futura-Book";
                    font-size: 16px;
                    font-weight: 450;

                    @media screen and (max-width: 991px) {
                        /* font-size: 36px; */
                    }
                }
            }

            .title {
                margin: 24px 0;

                &,
                & * {
                    color: #FFF;
                    font-family: "Clearface";
                    font-size: 48px;
                    font-weight: 550;
                    line-height: 1.2;

                    @media screen and (max-width: 991px) {
                        font-size: 36px;
                    }
                }
            }

            .separator {
                height: 1px;
                width: 150px;
                background: #FFF;
                margin: 24px 0;

                @media screen and (max-width: 991px) {
                    width: 100px;
                }
            }

            .description {
                margin: 24px 0;

                &,
                & * {
                    color: #FFF;
                    font-family: "Futura-Book";
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.4;
                }
            }

            .subtitle {
                margin: 24px 0 0;

                &,
                & * {
                    color: #999;
                    font-family: "Futura-Book";
                    font-size: 14px;
                    font-weight: 400;
                    line-height: 1.4;
                }
            }
        }


        .block-img {
            position: absolute;
            padding-right: 0;
            padding-left: 0;
            top: 0;

            @media screen and (min-width: 992px) {
                right: 0;
                width: 50%;
                height: 100%;
            }

            @media screen and (max-width: 991px) {
                left: 0;
                width: 100%;
                height: 336px;
            }



            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .hoja-arriba-izq {
            position: absolute;
            bottom: -14px;
            left: 14px;

            width: 351px;
            height: auto;

            @media (max-width: 991px) {
                top: 480px;
                right: -60px;
                left: unset;
                bottom: unset;
                width: 173px;
            }
        }

        .hoja-medio-izq {
            position: absolute;
            bottom: -35px;
            left: 105px;

            width: 105px;
            height: auto;

            @media (max-width: 991px) {
                left: unset;
                bottom: unset;
                top: 550px;
                right: 23px;
                width: 54px;
            }
        }

        .arrow_section {
            position: absolute;
            bottom: 30px;
            right: 0;
            left: 0;
            margin: auto;
            width: fit-content;

            background: #FFF;
            width: 60px;
            height: 60px;
            border-radius: 30px;

            display: flex;
            justify-content: center;
            align-items: center;

            @media screen and (max-width: 991px) {
                right: 20px;
                left: unset;

                width: 40px;
                height: 40px;
                margin: 0;
            }

            svg {
                position: absolute;
                animation-name: flecha-animation;
                animation-duration: 1.5s;
                animation-iteration-count: infinite;

                @media screen and (max-width: 991px) {
                    animation-name: flecha-animation-mobile;
                    width: 13px;
                    height: auto;
                }

            }
        }

    }


    .landing-essentials-section1 {
        padding: 80px 0;

        @media screen and (max-width: 991px) {
            padding: 60px 0;
        }

        .block-img {

            .img-capa-oscura {
                position: relative;
                height: 500px;

                @media screen and (max-width: 991px) {
                    height: 320px;
                }

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }

                .capa-oscura {
                    position: absolute;
                    top: 0;
                    bottom: 0;
                    left: 0;
                    right: 0;
                    width: fit-content;
                    height: fit-content;
                    padding: 24px;
                    margin: auto;
                    background: #21252980;

                    color: white;
                    font-family: "Clearface";
                    font-size: 36px;
                    font-weight: 700;
                    line-height: 1.2;
                }
            }
        }


        .block-text {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;

            @media screen and (min-width: 992px) {
                padding-left: 95px;
            }

            @media screen and (max-width: 991px) {
                margin-bottom: 48px;
            }

            .title {

                &,
                & * {
                    color: #212529;
                    font-family: "Clearface";
                    font-size: 36px;
                    font-weight: 550;
                    line-height: 1.2;

                    @media screen and (max-width: 991px) {
                        font-size: 32px;
                    }
                }
            }

            .separator {
                height: 1px;
                width: 150px;
                background: #FF9442;
                margin: 24px 0;

                @media screen and (max-width: 991px) {
                    width: 100px;
                }
            }

            .content {

                &,
                & * {
                    color: #212529;
                    font-family: "Futura-Book";
                    font-size: 16px;
                    font-weight: 400;
                }
            }
        }

    }


    .landing-essentials-section2 {
        padding: 60px 0;

        .block-text {
            margin-bottom: 48px;

            .title {

                &,
                & * {
                    color: #212529;
                    font-family: "Clearface";
                    font-size: 36px;
                    font-weight: 550;
                }
            }

            .description {

                &,
                & * {
                    color: #282625;
                    font-family: "Futura-Book";
                    font-size: 20px;
                    font-weight: 400;
                    line-height: 1.2;
                }
            }
        }

        .block-cards {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 24px;

            @media screen and (max-width: 991px) {
                grid-template-columns: repeat(1, 1fr);
                place-items: flex-end;
            }

            .block-card {
                display: flex;
                flex-direction: column;
                gap: 24px;
                width: 100%;

                padding: 24px;

                &:nth-child(1n) {
                    background: #DFE6E1;

                    .txt {
                        color: #2B5738;
                    }

                    .content {
                        color: #212529;
                    }
                }

                &:nth-child(2n) {
                    background: #2B5738;

                    .txt,
                    .content {
                        color: #FFF;
                    }
                }

                .encabezado {
                    display: flex;
                    flex-direction: column;
                    gap: 24px;

                    .txt {

                        &,
                        & * {
                            font-family: "Futura-Medium";
                            font-size: 24px;
                            font-weight: 450;
                            line-height: 1.2;
                        }
                    }

                }

                .content {

                    &,
                    & * {
                        font-family: "Futura-Book";
                        font-size: 20px;
                        font-weight: 400;
                        line-height: 1.2;
                    }
                }
            }
        }
    }

    .landing-essentials-section2-2 {
        padding: 60px 0;

        .block-text {
            margin-bottom: 48px;

            .title {

                &,
                & * {
                    color: #212529;
                    font-family: "Clearface";
                    font-size: 36px;
                    font-weight: 550;
                }
            }

            &__description {
                display: flex;
                align-items: flex-end;
                padding-left: 120px;
            }

            .description {

                &,
                & * {
                    color: #282625;
                    font-family: "Futura-Book";
                    font-size: 20px;
                    font-weight: 400;
                    line-height: 1.2;
                }
            }
        }

        .block-cards {
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: 24px;

            .block-card {
                display: flex;
                gap: 48px;
                width: 100%;
                padding: 24px;

                @media screen and (max-width: 768px) {
                    flex-wrap: wrap;
                }

                &.position_1 {
                    flex-direction: row-reverse;
                    background: #2B5738;

                    .title-card,
                    .description-card {
                        color: #FFF;
                    }

                    svg path {
                        fill: #FFF;
                    }
                }

                &.position_2 {
                    background: #DFE6E1;

                    .title-card {
                        color: #2B5738;
                    }

                    svg path {
                        fill: #2B5738;
                    }

                    .description-card {
                        color: #212529;
                    }
                }

                .column-text {
                    width: 50%;

                    @media screen and (max-width: 768px) {
                        width: 100%;
                    }

                    .encabezado {
                        display: flex;
                        flex-direction: column;
                        gap: 24px;
                        margin-bottom: 24px;

                        .title-card {

                            &,
                            & * {
                                font-family: "Futura-Medium";
                                font-size: 24px;
                                font-weight: 450;
                                line-height: 1.2;
                            }
                        }
                    }

                    .description-card {
                        margin-bottom: 24px;

                        &,
                        & * {
                            font-family: "Futura-Book";
                            font-size: 20px;
                            font-weight: 400;
                            line-height: 1.2;
                        }
                    }
                }
            }

            .cta-card {

                .cta-link {
                    display: flex;
                    align-items: center;
                    width: fit-content;
                    background: #FF9442;
                    color: #FFF;
                    font-family: "Clearface";
                    font-size: 16px;
                    font-weight: 400;
                    line-height: 1.2;
                    transition: background 0.3s ease-in-out;
                    text-decoration: unset;
                    padding: 12px 20px;

                    &:hover {
                        background: #CF021B;
                    }
                }

                &--desktop {
                    @media screen and (max-width: 768px) {
                        display: none;
                    }
                }

                &--mobile {
                    width: 100%;
                    margin-top: 24px;

                    @media screen and (min-width: 768px) {
                        display: none;
                    }

                    .cta-link {
                        width: 100%;
                        justify-content: center;
                    }
                }
            }

            .column-img {
                width: 50%;
                height: 100%;
                min-height: 435px;

                @media screen and (max-width: 768px) {
                    width: 100%;
                    min-height: unset;
                    height: fit-content;
                }

                img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            }
        }
    }

    .landing-essentials-section3 {
        padding: 80px 0;
        background: #F9F9F9;

        @media screen and (max-width: 991px) {
            padding: 60px 0;
        }

        .block-circles {
            display: flex;
            gap: 24px;

            @media screen and (max-width: 991px) {
                justify-content: center;
            }

            .progress-circle {
                width: 261px;
                height: 261px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                font-size: 24px;
                color: darkgreen;
                font-weight: bold;
                position: relative;

                @media screen and (max-width: 991px) {
                    width: 156px;
                    height: 156px;
                }

                &.progress-circle-1 {
                    background: conic-gradient(darkgreen 50%, lightgray 0);
                }

                &.progress-circle-2 {
                    background: conic-gradient(darkgreen 75%, lightgray 0);
                }

                span {
                    z-index: 1;
                    color: #2B5738;
                    font-family: "Clearface";
                    font-size: 94px;
                    font-weight: 400;
                    line-height: 1;
                    letter-spacing: -3.756px;

                    @media screen and (max-width: 991px) {
                        font-size: 56px;
                    }
                }
            }

            .progress-circle::before {
                content: '';
                width: 231px;
                height: 231px;
                border-radius: 50%;
                background: white;
                position: absolute;

                @media screen and (max-width: 991px) {
                    width: 136px;
                    height: 136px;
                }
            }
        }

        .block-text {
            display: flex;
            align-items: center;
            margin-bottom: 40px;

            .title {
                @media screen and (max-width: 991px) {
                    text-align: center;
                }

                &,
                & * {
                    color: #282625;
                    font-family: "Clearface";
                    font-size: 40px;
                    font-weight: 700;
                    line-height: 1.2;

                    @media screen and (max-width: 991px) {
                        font-size: 36px;
                    }
                }
            }
        }

    }

    .landing-essentials-section3-2 {
        position: relative;
        padding: 80px 0;
        background: #F9F9F9;

        @media screen and (max-width: 991px) {
            padding: 60px 0;
        }

        .container--mobile {
            @media screen and (min-width: 992px) {
                display: none !important;
            }
        }

        .img-decoration--mobile {
            margin-bottom: 24px;

            @media screen and (min-width: 992px) {
                display: none !important;
            }
        }

        .block-text--desktop {
            @media screen and (max-width: 991px) {
                display: none !important;
            }
        }

        .block-text {
            display: flex;
            flex-direction: column;
            gap: 24px;

            .title {

                &,
                & * {
                    color: #2B5738;
                    font-family: "Clearface";
                    font-size: 48px;
                    font-weight: 700;
                    line-height: 1.2;

                    @media screen and (max-width: 991px) {
                        /* font-size: 36px; */
                    }
                }
            }

            .description {

                &,
                & * {
                    color: #212529;
                    font-family: "Clearface";
                    font-size: 24px;
                    font-weight: 400;
                    line-height: 1.2;

                    @media screen and (max-width: 991px) {
                        /* font-size: 36px; */
                    }
                }
            }
        }

        .block-brands {
            display: flex;
            flex-direction: column;
            gap: 48px;

            .brand {
                border-bottom: 1px solid #FF9442;


                .b-title {
                    margin-bottom: 12px;

                    &,
                    & * {
                        color: #FF9442;
                        font-family: "Clearface";
                        font-size: 32px;
                        font-weight: 700;
                        line-height: 1.2;

                        @media screen and (max-width: 991px) {
                            /* font-size: 36px; */
                        }
                    }
                }

                .b-description {
                    margin-bottom: 24px;

                    &,
                    & * {
                        color: #212529;
                        font-family: "Clearface";
                        font-size: 16px;
                        font-weight: 400;
                        line-height: 1.2;

                        @media screen and (max-width: 991px) {
                            /* font-size: 36px; */
                        }
                    }
                }

                .b-img {
                    width: fit-content;
                    height: 100px;
                    margin-bottom: 24px;
                    max-width: 100%;

                    img {
                        width: 100%;
                        height: 100%;
                        object-fit: contain;
                    }
                }
            }
        }

        .img-decoration {
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            margin-top: auto;
            margin-bottom: auto;
            width: 233px;
            height: 325px;

            @media screen and (max-width: 991px) {
                display: none;
            }
        }
    }

    .landing-essentials-section4 {
        position: relative;
        padding-top: 120px;
        padding-bottom: 120px;

        .container {
            position: relative;
            z-index: 2;
            .row {
                .block-text {

                    .text {

                        &,
                        & * {
                            color: #FFF;
                            font-family: "Clearface";
                            font-size: 24px;
                            font-weight: 540;
                            line-height: 1.4;

                            @media screen and (max-width: 991px) {
                                /* font-size: 36px; */
                            }
                        }
                    }
                }
            }
        }

        .img-background {
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            z-index: 1;

            img{
                width: 100%;
                height: 100%;
                object-fit: cover;
                object-position: center;
            }
        }
    }

    .landing-essentials-section5 {
        padding: 80px 0;
        background: #2B5738;

        @media screen and (max-width: 991px) {
            padding: 60px 0;
        }

        .block-img {
            width: 356px;
            height: 250px;

            @media screen and (max-width: 991px) {
                width: 156px;
                height: 110px;
                margin-bottom: 60px;
            }

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
            }
        }

        .block-text {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: flex-start;

            @media screen and (min-width: 992px) {
                padding-left: 120px;
                margin-bottom: 60px;
            }


            .content {

                &,
                & * {
                    color: #FFF;
                    font-family: "Clearface ";
                    font-size: 36px;
                    font-weight: 400;
                    line-height: 1.4;

                    @media screen and (min-width: 992px) {
                        font-size: 32px;
                    }
                }
            }
        }

        .block-point {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            margin-top: 30px;

            @media screen and (min-width: 992px) {
                padding-left: 120px;
                margin-top: 60px;
            }

            .point {
                max-width: 450px;

                @media screen and (max-width: 991px) {
                    max-width: 100%;
                    padding-left: 76px;
                }

                .number {

                    &,
                    & * {
                        color: #FF9442;
                        font-family: "Clearface";
                        font-size: 64px;
                        font-weight: 400;
                        line-height: 1;
                    }

                    @media screen and (min-width: 992px) {
                        font-size: 48px;
                    }
                }

                .content {

                    &,
                    & * {
                        color: #FFF;
                        font-family: "Futura-Medium";
                        font-size: 16px;
                        font-weight: 450;
                        line-height: 1.4;
                    }
                }
            }
        }
    }

    .landing-essentials-section6 {
        .col-lg-6 {
            padding: 0;
        }

        .row {
            align-items: center;
        }

        @media (max-width: 991px) {
            .flex-direction-column-reverse {
                flex-direction: column-reverse;
            }
        }

        .block-image {

            .imagen {
                width: 100%;
                position: relative;

                .imagen-grande {
                    width: 100%;

                    @media (max-width: 991px) {
                        display: flex;
                        justify-content: center;
                    }

                    img {
                        width: 100%;

                        @media (max-width: 991px) {
                            max-width: 688px;
                        }
                    }
                }
            }
        }

        .block-text {
            display: flex;
            justify-content: center;

            .block-text-contain {
                display: flex;
                flex-direction: column;
                justify-content: flex-start;
                align-items: flex-start;
                max-width: 470px;

                @media screen and (min-width: 992px) {
                    padding: 45px;
                }

                @media screen and (max-width: 991px) {
                    padding: 36px 15px 60px;
                }

                .title {

                    &,
                    & * {
                        color: #212529;
                        font-family: 'Clearface';
                        font-weight: 550;
                        font-size: 36px;
                        line-height: 1.2;

                        @media screen and (min-width: 992px) {
                            font-size: 32px;
                        }
                    }
                }

                .content {
                    margin-top: 24px;

                    &,
                    & * {
                        color: #212529;
                        font-family: 'Futura-Book';
                        font-weight: 400;
                        font-size: 16px;
                        line-height: 1.4;
                    }
                }

                .cta {
                    background: #FF9442;
                    padding: 12px 20px;
                    color: #FFF;
                    font-family: 'Clearface';
                    font-weight: 700;
                    font-size: 16px;
                    line-height: normal;
                    text-decoration: none;
                    transition: .4s;
                    margin-top: 24px;

                    &:hover {
                        background: #EE1D25;
                        transition: .4s;
                    }
                }
            }
        }

    }

    @keyframes flecha-animation {
        0% {
            transform: translateY(-3px);
        }

        50% {
            transform: translateY(7px);
        }

        100% {
            transform: translateY(-3px);
        }
    }

    @keyframes flecha-animation-mobile {
        0% {
            transform: translateY(-1px);
        }

        50% {
            transform: translateY(2px);
        }

        100% {
            transform: translateY(-1px);
        }
    }

}

/* Fallback rules for cards section in browsers with limited nesting support */
.landing-sustainably .landing-essentials-section2-2 .block-text__description {
    display: flex;
    align-items: flex-end;
    padding-left: 120px;
}

.landing-sustainably .landing-essentials-section2-2 .row {
    display: flex;
    flex-direction: column;
}

.landing-sustainably .landing-essentials-section2-2 .block-cards {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
}

.landing-sustainably .landing-essentials-section2-2 .block-card {
    display: flex;
    gap: 48px;
    width: 100%;
    padding: 24px;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_1 {
    flex-direction: row-reverse;
    background: #2B5738;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_1 .title-card,
.landing-sustainably .landing-essentials-section2-2 .block-card.position_1 .description-card {
    color: #FFF;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_1 svg path {
    fill: #FFF;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_2 {
    background: #DFE6E1;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_2 .title-card {
    color: #2B5738;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_2 svg path {
    fill: #2B5738;
}

.landing-sustainably .landing-essentials-section2-2 .block-card.position_2 .description-card {
    color: #212529;
}

.landing-sustainably .landing-essentials-section2-2 .column-text,
.landing-sustainably .landing-essentials-section2-2 .column-img {
    width: 50%;
}

.landing-sustainably .landing-essentials-section2-2 .column-img {
    height: 100%;
    min-height: 435px;
}

.landing-sustainably .landing-essentials-section2-2 .column-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.landing-sustainably .landing-essentials-section2-2 .cta-card--mobile {
    display: none;
    width: 100%;
    margin-top: 24px;
}

.landing-sustainably .landing-essentials-section2-2 .cta-card--mobile .cta-link {
    width: 100%;
    justify-content: center;
}

@media screen and (max-width: 991px) {
    .landing-sustainably .landing-essentials-section2-2 .block-text__description {
        padding-left: 15px;
        align-items: flex-start;
    }
}

@media screen and (max-width: 768px) {
    .landing-sustainably .landing-essentials-section2-2 .block-card {
        flex-wrap: wrap;
    }

    .landing-sustainably .landing-essentials-section2-2 .column-text,
    .landing-sustainably .landing-essentials-section2-2 .column-img {
        width: 100%;
    }

    .landing-sustainably .landing-essentials-section2-2 .column-img {
        min-height: unset;
        height: fit-content;
    }

    .landing-sustainably .landing-essentials-section2-2 .cta-card--desktop {
        display: none;
    }

    .landing-sustainably .landing-essentials-section2-2 .cta-card--mobile {
        display: block;
    }
}