.banner {
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: hidden;
}

.banner_BG {
    width: 100%;
}

.robot_body {
    position: absolute;
    width: 25%;
    bottom: 2.5%;
    left: 11.5%
}

.robot_head {
    position: absolute;
    width: 25%;
    top: -2.5%;
    left: 2.5%;
    animation: swim;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

.robot_arm_left {
    position: absolute;
    width: 17.5%;
    top: 42.5%;
    left: -2.5%;
    transform-origin: center right;
    animation: swim;
    animation-delay: .5s;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

.robot_arm_right {
    position: absolute;
    width: 9%;
    top: -5%;
    left: 26%;
    transform-origin: bottom left;
    animation: swim;
    animation-delay: .25s;
    animation-duration: 1s;
    animation-iteration-count: infinite;
}

.banner_subtitle {
    position: absolute;
    width: 50%;
    top: 7.5%;
    right: 10%;
    animation: float;
    animation-delay: 2.5s;
    animation-duration: 5s;
    animation-iteration-count: infinite;
}

.banner_title {
    position: absolute;
    width: 60%;
    top: 30%;
    right: 5%;
    animation: float;
    animation-duration: 5s;
    animation-iteration-count: infinite;
}

.banner_feature {
    position: absolute;
    width: 50%;
    bottom: 25%;
    right: 10%;
    animation: float;
    animation-delay: 2.5s;
    animation-duration: 5s;
    animation-iteration-count: infinite;
}

.banner_pattern_circle {
    position: absolute;
    width: 3%;
    bottom: 15%;
    right: 45%;
    animation: rotate;
    animation-duration: 5s;
    animation-iteration-count: infinite
}

.banner_pattern_triangle {
    position: absolute;
    width: 3.75%;
    top: 7.5%;
    right: 7.5%;
    animation: rotate;
    animation-duration: 5s;
    animation-iteration-count: infinite
}

.banner_pattern_square {
    position: absolute;
    width: 3%;
    top: 5%;
    left: 40%;
    transform: rotate(40deg);
    animation: rotate;
    animation-duration: 5s;
    animation-iteration-count: infinite
}


@media screen and (max-width: 1023px) {
    .banner_BG {
        width: 250%;
        margin: 0 -75% 0;
    }

    

    .banner_subtitle {
        width: 80%;
        top: 2.5%;
        right: 10%;
    }

    .banner_title {
        width: 90%;
        top: 17.5%;
        right: 5%;
    }

    .banner_feature {
        width: 80%;
        bottom: 55%;
        right: 10%;
    }

    

    .robot_body {
        width: 50%;
        bottom: -25%;
        left: 37.5%
    }

    .robot_head {
        width: 50%;
        top: 45%;
        left: 20%;
    }

    .robot_arm_left {
        width: 30%;
        top: 85%;
        left: 12.5%;
    }

    .robot_arm_right {
        width: 15%;
        top: 50%;
        left: 68.5%;
    }

    .banner_pattern_circle {
        width: 10%;
        bottom: 10%;
        right: 2.5%;
    }
    
    .banner_pattern_triangle {
        width: 12.5%;
        top: 45%;
        right: 5%;
    }
    
    .banner_pattern_square {
        width: 10%;
        top: 70%;
        left: 5%;
    }

    
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    } to {
        transform: rotate(360deg);
    }
}

@keyframes swim {
    0% {
        transform: translateY(2.5%) rotate(5deg);
    } 25% {
        transform: translateY(-2.5%) rotate(0deg);
    } 50% {
        transform: translateY(2.5%) rotate(-5deg);
    } 75% {
        transform: translateY(-2.5%) rotate(0deg);
    } 100% {
        transform: translateY(2.5%) rotate(5deg);
    }
}

@keyframes float {
    0% {
        transform: translateY(-2.5%);
    } 50% {
        transform: translateY(0%);
    } 100% {
        transform: translateY(-2.5%);
    }
}