/* =========================================
   SECTION
========================================= */

.env-expand-section {
    position: relative;

    width: 100%;

    padding: 90px 0 0;

    background: #f8f8f6;

    overflow: visible;
}


/* =========================================
   TOP HEADING
========================================= */

.env-expand-heading {
    width: min(850px, 90%);

    margin: 0 auto 65px;

    text-align: center;
}


.env-expand-symbol {
    display: flex;

    justify-content: center;
    align-items: center;

    margin-bottom: 24px;
}


.env-expand-symbol span {
    width: 22px;
    height: 22px;

    border-radius: 50%;
}


.env-expand-symbol span:first-child {
    background: #37A9B7;

    margin-right: -2px;
}


.env-expand-symbol span:last-child {
    border: 1.5px solid #37A9B7;

    background: transparent;
}


/* =========================================
   HEADING
========================================= */

.env-expand-heading h2 {
    margin: 0;

    font-size: clamp(42px, 5vw, 68px);

    line-height: 1.05;

    font-weight: 700;

    letter-spacing: -2px;

    color: #202124;
}


.env-expand-heading h2 span {
    display: block;

    color: #37A9B7;
}


/* =========================================
   DESCRIPTION
========================================= */

.env-expand-heading p {
    max-width: 760px;

    margin: 28px auto 0;

    font-size: 19px;

    line-height: 1.65;

    color: #3a3a3a;
}


/* =========================================
   SCROLL AREA
========================================= */

.env-expand-scroll {
    position: relative;

    width: 100%;

    height: 150vh;
}


/* =========================================
   STICKY AREA
========================================= */

.env-expand-sticky {
    position: sticky;

    top: 0;

    width: 100%;
    height: 100vh;

    display: flex;

    align-items: center;
    justify-content: center;

    overflow: hidden;
}


/* =========================================
   EXPANDING IMAGE
========================================= */

.env-expand-image {
    position: relative;

    width: 46%;
    height: 520px;

    overflow: hidden;

    border-radius: 130px;

    box-shadow:
        0 30px 80px rgba(20, 45, 55, 0.12);

    will-change:
        width,
        height,
        border-radius;
}


/* =========================================
   IMAGE
========================================= */

.env-expand-image img {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transform: scale(1.10);

    will-change: transform;
}


/* =========================================
   DARK OVERLAY
========================================= */

.env-expand-overlay {
    position: absolute;

    inset: 0;

    z-index: 2;

    background:
        linear-gradient(90deg,
            rgba(8, 28, 38, .42),
            rgba(8, 28, 38, .28),
            rgba(8, 28, 38, .42));
}


/* =========================================
   CONTENT INSIDE IMAGE
========================================= */

.env-expand-content {
    position: absolute;

    top: 50%;
    left: 50%;

    transform:
        translate(-50%, -50%) translateY(20px);

    z-index: 3;

    width: min(680px, 82%);

    text-align: center;

    color: #ffffff;

    opacity: 0;

    will-change:
        opacity,
        transform;
}


/* =========================================
   SMALL SYMBOL
========================================= */

.env-expand-small-symbol {
    display: flex;

    align-items: center;
    justify-content: center;

    margin-bottom: 20px;
}


.env-expand-small-symbol span {
    width: 21px;
    height: 21px;

    border-radius: 50%;
}


.env-expand-small-symbol span:first-child {
    background: #ffffff;

    margin-right: -2px;
}


.env-expand-small-symbol span:last-child {
    border: 1.5px solid #ffffff;
}


/* =========================================
   IMAGE HEADING
========================================= */

.env-expand-content h3 {
    margin: 0;

    font-size: clamp(46px,
            5vw,
            70px);

    line-height: .98;

    font-weight: 700;

    letter-spacing: -2px;

    color: #ffffff;
}


.env-expand-content h3 span {
    display: block;
}


/* =========================================
   IMAGE PARAGRAPH
========================================= */

.env-expand-content p {
    max-width: 650px;

    margin: 26px auto 0;

    font-size: 18px;

    line-height: 1.55;

    color: rgba(255,
            255,
            255,
            .94);
}


/* =========================================
   EXPLORE GENERATORS BUTTON
========================================= */

.env-generators-button {
    position: relative;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 18px;

    margin-top: 28px;

    padding: 8px 10px 8px 26px;

    background: #5AAEBB;

    color: #ffffff !important;

    border: 5px solid #5AAEBB;

    border-radius: 999px;

    text-decoration: none !important;

    font-size: 17px;
    font-weight: 500;

    line-height: 1;

    white-space: nowrap;

    transition:
        background .35s ease,
        color .35s ease,
        transform .35s ease;
}


/* =========================================
   BUTTON ARROW
========================================= */

.env-generators-arrow {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 50%;

    background: #ffffff;

    color: #202124;

    font-size: 24px;
    line-height: 1;

    flex-shrink: 0;

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}


/* =========================================
   BUTTON HOVER
========================================= */

.env-generators-button:hover {
    background: #ffffff;

    color: #202124 !important;

    transform: translateY(-2px);
}


.env-generators-button:hover .env-generators-arrow {
    background: transparent;

    color: #202124;

    transform: translateX(4px);
}

/* =========================================
   BUTTON ARROW
========================================= */

.env-generators-arrow {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    border-radius: 50%;

    color: #202124;

    font-size: 24px;

    line-height: 1;

    transition:
        transform .3s ease;
}


.env-generators-button:hover {
    transform:
        translateY(-3px);

    background: #f8f8f6;
}


.env-generators-button:hover .env-generators-arrow {
    transform:
        translateX(4px);
}


/* =========================================
   TABLET
========================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .env-expand-heading {
        margin-bottom: 55px;
    }


    .env-expand-scroll {
        height: 135vh;
    }


    .env-expand-image {
        width: 66%;

        height: 570px;

        border-radius: 90px;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .env-expand-section {
        padding:
            65px 0 70px;
    }


    .env-expand-heading {
        width: 88%;

        margin-bottom: 42px;
    }


    .env-expand-heading h2 {
        font-size: 39px;

        letter-spacing: -1px;
    }


    .env-expand-heading p {
        margin-top: 22px;

        font-size: 16px;

        line-height: 1.55;
    }


    /* remove desktop scroll effect */

    .env-expand-scroll {
        height: auto;
    }


    .env-expand-sticky {
        position: relative;

        top: auto;

        height: auto;

        overflow: visible;
    }


    /* rounded mobile image */

    .env-expand-image {
        width: 88% !important;

        height: 650px !important;

        border-radius: 58px !important;

        box-shadow:
            0 18px 45px rgba(20, 45, 55, .12);
    }


    .env-expand-image img {
        transform:
            scale(1.04) !important;

        object-position: center;
    }


    .env-expand-content {
        width: 84%;

        opacity: 1 !important;

        transform:
            translate(-50%, -50%) !important;
    }


    .env-expand-small-symbol {
        margin-bottom: 18px;
    }


    .env-expand-content h3 {
        font-size: 44px;

        line-height: 1;
    }


    .env-expand-content p {
        margin-top: 22px;

        font-size: 16px;

        line-height: 1.5;
    }


    .env-generators-button {
        margin-top: 24px;

        padding:
            9px 10px 9px 22px;

        border-width: 5px;

        font-size: 15px;
    }


    .env-generators-arrow {
        width: 36px;
        height: 36px;

        font-size: 22px;
    }

}