.hero {
    position: relative;
    width: 100%;
    padding: 0;
    color: #fff;
    overflow: hidden;
    z-index: 1;
}

.hero-video--media {
    position: relative;
}

.hero-video--media:before {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(4deg, #041816 8.86%, rgba(4, 24, 22, 0.917266) 14.89%, rgba(4, 24, 22, 0.707403) 24.05%, rgba(4, 24, 22, 0) 59.32%),
                linear-gradient(180deg, #041816 0%, rgba(4, 24, 22, 0) 39.58%);

    z-index: 1;
}


.hero-video--media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}

.hero-video {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.4s ease-in-out;
    background: transparent !important;
    z-index: -2;
}

.hero-video.is-loaded {
    opacity: 1;
}

.hero-video iframe {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.3);
}

.hero-wrap {
    position: relative;
    padding-bottom: 72px;
    z-index: 2;
}

.hero--subtitle {
    position: relative;
    margin-bottom: 15px;
    font-weight: 400;
}

.hero--title {
    margin: 0 0 34px;
    font-weight: 400;
}

.hero--buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 24px;
}

.btn_banner {
    max-width: 328px;
    width: 100%;
    min-height: 44px;
    position: relative;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 1px 3px 0;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0;
    color: #fff;
    transition: var(--transition-hover);
}

.btn_banner:hover {
    color: var(--color-1);
}

.btn_banner::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background: #fff;
    opacity: 0.2;
    transition: var(--transition-hover);
}

.btn_banner:hover::before {
    background: var(--color-1);
    opacity: 1;
}

.btn_banner .icon-arrow {
    margin-left: auto;
}

.about {
    padding: 96px 0 120px;
}

.about-images {
    display: flex;
    align-items: unset;
    gap: 12px;
    margin-top: 64px;
}

.about-images > img {
    width: 58%;
}

.about-images--right {
    width: 38%;
    display: flex;
    gap: 12px;
}

.energy-card--images__col,
.about-images--wrap {
    position: relative;
    border-radius: 4px;
    overflow: hidden;
}

.energy-control {
    padding: 0 0 96px;
}

.about-images img,
.energy-card--images img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

.energy-col-num {
    position: sticky;
    top: 0;
    height: 174px;
    padding-top: 24px;
    overflow: hidden;
    font: 400 140px 'Switzer';
    background: #fff;
    z-index: 2;
}

.num-wrapper {
    display: flex;
    height: 174px;
    overflow: hidden;
}

.num-drum--tens,
.num-drum--units {
    display: flex;
    flex-direction: column;
    transition: transform 1s cubic-bezier(0.25, 1, 0.5, 1);
    will-change: transform;
}

.num-item {
    height: 174px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: #e6e8eb;
}

.energy-cards {
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.energy-card {
    padding-top: 24px;
    border-top: 1px solid #e8e9f1;
}

.energy-card--content {
    position: relative;
}

.energy-card--num {
    position: absolute;
    top: 0;
    right: 0;
    padding-left: 14px;
    color: #838d9a;
}

.energy-card--num::before {
    content: "";
    position: absolute;
    top: 10px;
    left: 1px;
    width: 4px;
    height: 4px;
    border-radius: 1px;
    background: var(--color-1);
}

.energy-cards--title {
    margin: 0 0 23px;
    padding-right: 40px;
}

.energy-card--images {
    display: flex;
    gap: 24px;
    margin-top: 64px;
}

.energy-card--images__col {
    font-size: 0;
}

.features {
    position: relative;
    padding: 96px 0 80px;
    color: #fff;
    background: var(--color-3);
    overflow: hidden;
    z-index: 1;
}

.features::before {
    content: "";
    position: absolute;
    right: 36px;
    bottom: 0;
    width: 929px;
    height: 760px;
    background: url("../../images/features-bg-icon.svg") no-repeat center/contain;
    z-index: -1;
    pointer-events: none;
}

.solution .headline,
.features .headline {
    margin-bottom: 49px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.06);
}


.features .headline .headline--subtitle {
    margin-bottom: 24px;
}

.features-wrap {
    display: flex;
    justify-content: center;
    margin-top: 87px;
}

.features--img {
    text-align: center;
}

.features-wrap img {
    z-index: 2;
}

.features-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.features-list li {
    max-width: 202px;
    display: flex;
    font-size: 16px;
    line-height: 100%;
    transition: transform 0.8s ease-out, opacity 0.8s ease-out;
    /*transition: transform 1s cubic-bezier(0.22, 1, 0.36, 1);*/
}


.features-list li > span {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.features-list li span svg {
    flex: 0 0 20px;
    width: 20px;
    height: auto;
}

.features-list li span span {
   width: auto;
    /*flex: 1 1 0;*/
}

.solution {
    position: relative;
    padding: 80px 0 53px;
    color: #fff;
    background: var(--color-3);
    overflow: hidden;
    z-index: 1;
}

.solution .headline {
    text-align: center;
}

.solution .headline .headline--subtitle {
    margin-bottom: 50px;
}

.solution .headline .headline--title  {
    max-width: 1050px;
    margin: 0 auto;
    animation: none;
    transform: none;
}

.solution .headline .headline--title span {
    color: #fff;
}

.solution .btn_box {
    justify-items: center;
}

.bouncing-img {
    position: relative;
    animation: bounce 6s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
    will-change: transform;
    z-index: -1;
}
.solution img {
    position: relative;
    left: 50%;
    max-width: 110%;
    width: 110%;
    margin-top: 96px;
    transform: translateX(-50%);
}

@keyframes bounce {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-30px);
    }
}

.power {
    position: relative;
    overflow: hidden;
}

.power .power-wrap {
    position: relative;
    padding: 108px 0 96px;
    border-left: 1px solid #e8e9f2;
    border-right: 1px solid #e8e9f2;
}


.power .headline {
    border: 0;
}

.squeezy-nav,
.power-slider-nav {
    display: flex;
    gap: 10px;
}

.nav-btn,
.power-slider-nav button {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    color:  var(--color-2);
    border: 1px solid #e8e9f2;
    border-radius: 2px;
    background: #fff;
}

.power-slider-nav button:hover,
.power-slider-nav button:active,
.power-slider-nav button:focus,
.nav-btn:hover,
.nav-btn:active,
.nav-btn:focus {
    color:  var(--color-2);
    border: 1px solid #e8e9f2;
    background: #fff;
}

.nav-btn:hover,
.nav-btn:active,
.nav-btn:focus {
    box-shadow:-1px 6px 6px -3px rgba(7, 26, 53, 0.05);
}

.canvas-container {
    max-width: 1222px;
    width: 100%;
    height: 540px;
    cursor: pointer;
}

.canvas-container canvas {
    max-width: 1222px;
    width: 100%;
}

@media (min-width: 769px) {
    .hero {
        padding: 48px 0 0;
    }

    .hero-wrap {
        padding-bottom: 96px;
    }

    .hero::before {
        content: "";
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        background:
                linear-gradient(180deg, #041522 -27.99%, rgba(4, 21, 34, 0.917266) 3.94%, rgba(4, 21, 34, 0.707403) 17.5%, rgba(4, 21, 34, 0) 43.97%),
                linear-gradient(0deg, #041522 -2.78%, rgba(4, 21, 34, 0) 29.62%),
                linear-gradient(72.44deg, rgba(4, 21, 34, 0.5) 0%, rgba(4, 21, 34, 0) 50%),
                linear-gradient(180deg, #041522 0%, rgba(4, 21, 34, 0) 48%);
        z-index: 1;
    }

    .hero-video--media:before {
        display: none;
    }

    .hero--subtitle {
        font-size: 18px;
        line-height: 160%;
    }

    .hero--title {
        margin: 0 0 64px;
    }

    .btn_banner {
        max-width: 286px;
    }

    .about {
        padding: 160px 0 60px;
    }

    .about .headline {
        display: flex;
        flex-wrap: wrap;
        gap: 0 128px;
    }

    .about .subtitle {
        margin-bottom: 32px;
    }

    .about .btn_box {
        margin-top: 18px;
    }

    .about-images,
    .about-images--right {
        gap: 20px;
    }

    .energy-control {
        padding: 94px 0 140px;
    }

    .energy-row {
        display: flex;
    }

    .energy-cards {
        width: 66.5%;
        margin-left: auto;
    }

    .energy-col-num {
        padding-top: 0;
    }

    .energy-col-num,
    .num-wrapper,
    .num-item {
        height: 200px;
    }

    .num-wrapper {
        width: 220px;
        font-size: 180px;
        line-height: 110%;
        letter-spacing: -10px;
    }

    .energy-cards--title {
        padding-right: 60px;
    }

    .energy-card--images img {
        height: 100%;
        object-fit: cover;
    }


    .energy-card--images__col img,
    .about-images--wrap img {
        transition: 1.2s transform cubic-bezier(0.16, 1, 0.3, 1);
    }

    .energy-card--images__col:hover img,
    .about-images--wrap:hover img {
        transform: scale(1.05);
    }

    .features {
        padding: 120px 0 120px;
    }

    .features::before {
        right: -33%;
    }

    .features-wrap {
        margin-top: 95px;
    }

    .features-wrap:not(.is-active) li {
        opacity: 0;
    }

    .features-list li:not(.r-desktop) {
        display: none;
    }

    .features-list li > span {
        align-items: center;
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(1) {
        transform: translate(45vw, 200px);
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(2) {
        transform: translate(20vw, 200px);
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(3) {
        transform: translate(-5vw, 200px);
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(4) {
        transform: translate(-30vw, 200px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(1) {
        transform: translate(45vw, -200px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(2) {
        transform: translate(20vw, -200px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(3) {
        transform: translate(-5vw, -200px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(4) {
        transform: translate(-30vw, -200px);
    }

    .solution {
        padding: 143px 0 69px;
    }

    .solution img {
        max-width: 132%;
        width: 132%;
    }

    .power .power-wrap {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 27px 20px;
        padding: 174px 0 140px;
    }

    .power-wrap .headline {
        width: calc(100% - 156px);
    }

    .power-wrap .headline--title {
        margin-bottom: 0;
    }

    .squeezy-nav {
        margin: auto 32px 0 0;
    }

    .power-slider-nav {
        margin: auto 32px 0 0;
    }
}

@media (min-width: 992px) {
    .hero {
        min-height: 500px;
        height: 100vh;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        padding: 48px 0;
    }

    .hero-video {
        position: absolute;
        inset: 0;
        z-index: -2;
    }

    .hero-video iframe {
        width: 100vw;
        height: 100vh;
    }

    .hero-wrap {
        padding-bottom: 0;
    }

    .hero::before {
        background:
                linear-gradient(20.13deg, rgba(4,21,34,0.5) 2.57%, rgba(4,21,34,0) 39.71%),
                linear-gradient(72.44deg, rgba(4,21,34,0.5) 0%, rgba(4,21,34,0) 50%),
                linear-gradient(180deg, #041522 0%, rgba(4,21,34,0) 48%);
    }

    .hero-video--media {
        position: absolute;
        inset: 0;
        z-index: -3;
    }

    .hero--title {
        margin: 0 0 32px;
    }

    .about {
        padding: 160px 0 118px;
    }

    .about .headline--title,
    .about .headline--description,
    .about .btn_box,
    .about-images--right {
        margin-left: auto;
        width: 57.5%;
    }

    .about .subtitle {
        margin-bottom: 0;
    }

    .about .headline--description p,
    .energy-card--content p {
        max-width: 600px;
    }

    .about-images {
        margin-top: -187px;
        gap: 0;
        align-items: flex-end;
    }

    .about-images > img {
        width: auto;
    }

    .about-images--right {
        gap: 24px;
        align-items: flex-end;
    }

    .about-images--right .about-images--wrap {
        width: 41%;
    }

    .energy-col-num,
    .num-wrapper,
    .num-item {
        height: 308px;
    }

    .energy-col-num {
        margin-top: -58px;
        padding-left: 49px;
    }

    .num-wrapper {
        width: 360px;
        font-size: 280px;
        letter-spacing: -18px;
    }

    .energy-cards {
        width: 57.5%;
    }

    .features::before {
        right: 36px;
    }

    .features .headline--title {
        max-width: 1024px;
    }

    .features-wrap {
        margin-top: 74px;
    }

    .features--img {
        width: 66.5%;
    }

    .features-list {
        width: 16.75%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding: 26px 0;
    }

    .features-list.left {
        padding-bottom: 50px;
        text-align: right;
        transform: translateX(42px);
    }

    .features-list.right {
        padding-bottom: 39px;
        transform: translateX(-23px);
    }

    .features-list.left li:nth-child(1),
    .features-list.left li:nth-last-child(1),
    .features-list.right li:nth-child(2),
    .features-list.right li:nth-child(3) {
        justify-content: flex-end;
    }

    .features-list li > span {
        min-width: 130px;
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(1) {
        transform: translate(200%, 164px);
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(2) {
        transform: translate(200%, 44px);
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(3) {
        transform: translate(200%, -76px);
    }

    .features-wrap:not(.is-active) .features-list.left li:nth-child(4) {
        transform: translate(200%, -196px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(1) {
        transform: translate(-200%, 164px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(2) {
        transform: translate(-200%, 44px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(3) {
        transform: translate(-200%, -76px);
    }

    .features-wrap:not(.is-active) .features-list.right li:nth-child(4) {
        transform: translate(-200%, -196px);
    }

    .solution {
        padding: 100px 0 38px;
    }

    .solution img {
        max-width: 117%;
        width: 117%;
    }

    .power .power-wrap {
        gap: 47px 20px;
        padding: 173px 0 140px;
    }

    .power .headline {
        padding: 0 32px;
    }

    .power .headline .subtitle {
        margin-bottom: 25px
    }

    .power-slider-nav,
    .power-slider {
        display: none;
    }
}

@media (max-width: 991px) {
    .hero-video--media {
        width: 100%;
        padding-top: 93%;
    }

    .hero-video iframe {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }

     .hero-wrap {
         position: relative;
         background: #041816;
     }

    .hero-wrap::before {
        content: "";
        position: absolute;
        top: 1px;
        left: 0;
        width: 100%;
        height: 40px;
        background: linear-gradient(0, #041816 -27.99%, rgba(4, 24, 22, 0.917266) 3.94%, rgba(4, 24, 22, 0.707403) 17.5%, rgba(4, 24, 22, 0) 43.97%),
        linear-gradient(0deg, #041816 -2.78%, rgba(4, 24, 22, 0) 29.62%);
        transform: translateY(-100%);
    }

    .about-images--wrap {
        width: 100%;
    }

    .about-images--right {
        flex-direction: column;
    }

    .about-images--right .about-images--wrap:nth-child(1) {
        height: 34%;
    }

    .about-images--right .about-images--wrap:nth-child(2) {
        height: 64%;
    }

    .energy-card--images__col {
        width: 100% !important;
    }

    .squeezy-nav,
    .canvas-container {
        display: none;
    }

    .power .headline {
        padding: 0 32px;
    }

    .power-wrap .headline--subtitle {
        margin-bottom: 25px
    }

    .power-slider {
        width: calc(100% - 21px);
        margin: 20px 0 0;
        overflow: visible;
    }

    .power-slider .swiper-slide {
        width: inherit !important;
    }

    .power-slider-slide-wrap {
        position: relative;
        padding-top: 78.4%;
        border-radius: 4px;
        overflow: hidden;
        z-index: 1;
    }

    .power-slider-slide-wrap::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(3.59deg, rgba(0, 0, 0, 0.5) 2.3%, rgba(0, 0, 0, 0) 45.25%);
        z-index: -1;
    }

    .power-slider-slide-wrap img {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 4px;
        z-index: -2;
    }

    .power-slider-slide-wrap--title {
        position: absolute;
        left: 0;
        bottom: 0;
        width: calc(100% - 64px);
        margin: 0 32px 24px;
        padding-top: 12px;
        font-size: 20px;
        color: #fff;
        text-transform: uppercase;
        border-top: 1px solid #fff;
    }
}

@media (max-width: 991px) and (min-width: 769px) {
    .energy-card--images img {
        min-height: 158px;
    }

    .features-wrap {
        flex-direction: column;
    }

    .features-wrap img {
        margin: -10px 0 -24px;
    }

    .features-list {
        display: flex;
        align-items: self-start;
        justify-content: space-between;
        padding: 0 30px;
    }

    .features-list.left li:nth-child(1),
    .features-list.left li:nth-child(4),
    .features-list.right li:nth-child(2),
    .features-list.right li:nth-child(3) {
        margin-top: 60px;
    }

    .features-list.left li:nth-child(3) {
        margin-top: 4px;
    }
}

@media (max-width: 768px) {
    .about .headline .headline--subtitle {
        margin-bottom: 32px;
    }

    .energy-cards {
        gap: 0;
    }
    .energy-card:not(:nth-child(1)) {
        padding-top: 80px;
        border: 0;
    }

    .energy-card:not(:nth-child(1)) .energy-card--content {
        padding-top: 24px;
        border-top: 1px solid #e8e9f1;
    }

    .energy-card--content p {
        max-width: 88%;
    }

    .energy-card--images img {
        width: 100%;
    }

    .features .headline .headline--title {
        letter-spacing: -0.2px;
    }

    .features-wrap {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .features-wrap img {
        order: 1;
        position: relative;
        left: 50%;
        max-width: 118%;
        width: 118%;
        margin-bottom: 39px;
        transform: translateX(-50%);
    }

    .features-list.left {
        order: 2;
    }

    .features-list.right {
        order: 3;
    }

    .features-list {
        width: 46%;
    }

    .features-list li:not(.r-mobile) {
        display: none;
    }

    .features-list li:not(:nth-last-child(1)) {
        margin-bottom: 24px;
    }

    .features-list.left li > span {
        flex-direction: row-reverse;
    }

    .solution img {
        margin-bottom: -60px;
    }

    .power .headline,
    .power-slider-nav {
        padding: 0 26px;
    }

    .power-slider-slide-wrap {
        padding-top: 138%;
    }

    .power-slider-slide-wrap--title {
        width: calc(100% - 48px);
        margin: 0 24px 26px;
        padding-top: 15px;
        font-size: 16px;
    }
}